Skip to content

Commit fe56b73

Browse files
committed
Merge branch 'PHP-8.4'
2 parents 807a696 + 24f635e commit fe56b73

File tree

8 files changed

+64
-46
lines changed

8 files changed

+64
-46
lines changed

cmake/CMakePresets.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
"version": 4,
33
"include": [
44
"cmake/presets/all-disabled.json",
5-
"cmake/presets/all-enabled.json"
5+
"cmake/presets/all-enabled.json",
6+
"cmake/presets/windows.json"
67
],
78
"configurePresets": [
89
{

cmake/cmake/Testing.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ block()
3939
-d memory_limit=-1
4040
run-tests.php
4141
-n
42-
-d extension_dir=${PHP_BINARY_DIR}/modules
42+
-d extension_dir=${PHP_BINARY_DIR}/modules/$<CONFIG>
4343
--show-diff
4444
${options}
4545
${parallel}

cmake/cmake/modules/PHP/Extensions.cmake

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -465,10 +465,19 @@ function(php_extensions_postconfigure extension)
465465
# Set build-phase location for shared extensions.
466466
get_target_property(location php_ext_${extension} LIBRARY_OUTPUT_DIRECTORY)
467467
if(NOT location)
468-
set_property(
469-
TARGET php_ext_${extension}
470-
PROPERTY LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/modules"
471-
)
468+
get_property(isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
469+
470+
if(isMultiConfig)
471+
set_property(
472+
TARGET php_ext_${extension}
473+
PROPERTY LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/modules"
474+
)
475+
else()
476+
set_property(
477+
TARGET php_ext_${extension}
478+
PROPERTY LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/modules/$<CONFIG>"
479+
)
480+
endif()
472481
endif()
473482
endfunction()
474483

cmake/cmake/modules/PHP/Stubs.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ function(_php_stubs_get_php_command result)
5959
list(
6060
APPEND
6161
command
62-
-d extension_dir=${PROJECT_BINARY_DIR}/modules
62+
-d extension_dir=${PROJECT_BINARY_DIR}/modules/$<CONFIG>
6363
-d extension=tokenizer
6464
)
6565
endif()
@@ -143,8 +143,8 @@ block()
143143
php_stubs ${targetOptions}
144144
COMMAND
145145
${CMAKE_COMMAND}
146+
-D "PHP_COMMAND=${PHP_COMMAND}"
146147
-P ${PROJECT_BINARY_DIR}/CMakeFiles/PHP/Stubs/StubsGenerator.cmake
147148
VERBATIM
148-
COMMAND_EXPAND_LISTS
149149
)
150150
endblock()

cmake/cmake/modules/PHP/Stubs/StubsGenerator.cmake.in

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
#[=============================================================================[
22
Script for processing PHP stub sources.
3+
4+
Expected variables:
5+
6+
* PHP_COMMAND
37
#]=============================================================================]
48

59
cmake_minimum_required(VERSION 3.27...4.0)
@@ -8,8 +12,12 @@ if(NOT CMAKE_SCRIPT_MODE_FILE)
812
message(FATAL_ERROR "This is a command-line script.")
913
endif()
1014

15+
if(NOT PHP_COMMAND)
16+
message(WARNING "StubsGenerator.cmake: No PHP command given.")
17+
return()
18+
endif()
19+
1120
set(sources "@PHP_SOURCES@")
12-
set(phpCommand "@PHP_COMMAND@")
1321
set(phpGenStubScriptSource "@PROJECT_SOURCE_DIR@/build/gen_stub.php")
1422

1523
# Ensure sources include only *.stub.php files.
@@ -38,7 +46,7 @@ execute_process(
3846
${CMAKE_COMMAND} -E cmake_echo_color --blue --bold
3947
"Regenerating *_arginfo.h headers from *.stub.php sources"
4048
COMMAND
41-
${phpCommand} ${CMAKE_CURRENT_LIST_DIR}/gen_stub.php ${stubs}
49+
${PHP_COMMAND} ${CMAKE_CURRENT_LIST_DIR}/gen_stub.php ${stubs}
4250
)
4351

4452
# Ensure that *_arginfo.h headers are newer than their *.stub.php sources.

cmake/cmake/presets/windows.json

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -8,42 +8,42 @@
88
"binaryDir": "${sourceDir}/php-build/windows",
99
"installDir": "C:/temp",
1010
"cacheVariables": {
11-
"PHP_EXT_COM_DOTNET": false,
12-
"PHP_EXT_CTYPE": false,
11+
"PHP_EXT_COM_DOTNET": true,
12+
"PHP_EXT_CTYPE": true,
1313
"PHP_EXT_DOM": false,
14-
"PHP_EXT_FILEINFO": false,
15-
"PHP_EXT_FILTER": false,
14+
"PHP_EXT_FILEINFO": true,
15+
"PHP_EXT_FILTER": true,
1616
"PHP_EXT_ICONV": false,
1717
"PHP_EXT_LIBXML": false,
18-
"PHP_EXT_OPCACHE": false,
19-
"PHP_EXT_PDO": false,
18+
"PHP_EXT_OPCACHE": true,
19+
"PHP_EXT_PDO": true,
2020
"PHP_EXT_PDO_SQLITE": false,
2121
"PHP_EXT_PHAR": false,
2222
"PHP_EXT_POSIX": false,
23-
"PHP_EXT_SESSION": false,
23+
"PHP_EXT_SESSION": true,
2424
"PHP_EXT_SIMPLEXML": false,
2525
"PHP_EXT_SQLITE3": false,
26-
"PHP_EXT_TOKENIZER": false,
26+
"PHP_EXT_TOKENIZER": true,
2727
"PHP_EXT_XML": false,
2828
"PHP_EXT_XMLREADER": false,
2929
"PHP_EXT_XMLWRITER": false,
3030

31-
"PHP_SAPI_CGI": false,
32-
"PHP_SAPI_PHPDBG": false,
31+
"PHP_SAPI_CGI": true,
32+
"PHP_SAPI_PHPDBG": true,
3333

34-
"CMAKE_INSTALL_BINDIR": "",
35-
"CMAKE_INSTALL_DATADIR": "",
36-
"CMAKE_INSTALL_LIBDIR": "",
37-
"CMAKE_INSTALL_LOCALSTATEDIR": "",
38-
"CMAKE_INSTALL_SBINDIR": "",
39-
"CMAKE_INSTALL_SYSCONFDIR": "",
34+
"CMAKE_INSTALL_BINDIR": ".",
35+
"CMAKE_INSTALL_DATADIR": ".",
36+
"CMAKE_INSTALL_LIBDIR": ".",
37+
"CMAKE_INSTALL_LOCALSTATEDIR": ".",
38+
"CMAKE_INSTALL_SBINDIR": ".",
39+
"CMAKE_INSTALL_SYSCONFDIR": ".",
4040

4141
"PHP_EXTENSION_DIR": "ext"
4242
}
4343
},
4444
{
45-
"name": "all-disabled-ts",
46-
"inherits": "all-disabled",
45+
"name": "windows-ts",
46+
"inherits": "windows",
4747
"displayName": "Thread safety (ZTS) with all extensions disabled",
4848
"description": "PHP thread safe (ZTS) build with all PHP extensions and SAPIs disabled, only with CLI SAPI",
4949
"binaryDir": "${sourceDir}/php-build/windows-ts",
@@ -52,8 +52,8 @@
5252
}
5353
},
5454
{
55-
"name": "all-disabled-ninja",
56-
"inherits": "all-disabled",
55+
"name": "windows-ninja",
56+
"inherits": "windows",
5757
"displayName": "Ninja generator with all extensions disabled",
5858
"description": "PHP build using Ninja generator with all PHP extensions and SAPIs disabled, only with CLI SAPI",
5959
"binaryDir": "${sourceDir}/php-build/windows-ninja",
@@ -62,22 +62,22 @@
6262
],
6363
"buildPresets": [
6464
{
65-
"name": "all-disabled",
66-
"configurePreset": "all-disabled"
65+
"name": "windows",
66+
"configurePreset": "windows"
6767
},
6868
{
69-
"name": "all-disabled-ts",
70-
"configurePreset": "all-disabled-ts"
69+
"name": "windows-ts",
70+
"configurePreset": "windows-ts"
7171
},
7272
{
73-
"name": "all-disabled-ninja",
74-
"configurePreset": "all-disabled-ninja"
73+
"name": "windows-ninja",
74+
"configurePreset": "windows-ninja"
7575
}
7676
],
7777
"testPresets": [
7878
{
79-
"name": "all-disabled",
80-
"configurePreset": "all-disabled",
79+
"name": "windows",
80+
"configurePreset": "windows",
8181
"environment": {
8282
"SKIP_IO_CAPTURE_TESTS": "1"
8383
},
@@ -87,14 +87,14 @@
8787
}
8888
},
8989
{
90-
"name": "all-disabled-ts",
91-
"configurePreset": "all-disabled-ts",
92-
"inherits": "all-disabled"
90+
"name": "windows-ts",
91+
"configurePreset": "windows-ts",
92+
"inherits": "windows"
9393
},
9494
{
95-
"name": "all-disabled-ninja",
96-
"configurePreset": "all-disabled-ninja",
97-
"inherits": "all-disabled"
95+
"name": "windows-ninja",
96+
"configurePreset": "windows-ninja",
97+
"inherits": "windows"
9898
}
9999
]
100100
}

cmake/ext/phar/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ set(pharSharedOptions "")
133133
if(PHP_EXT_PHAR_SHARED OR BUILD_SHARED_LIBS)
134134
set(
135135
pharSharedOptions
136-
-d extension_dir=${PHP_BINARY_DIR}/modules
136+
-d extension_dir=${PHP_BINARY_DIR}/modules/$<CONFIG>
137137
-d extension=phar
138138
)
139139
endif()

cmake/pear/cmake/InstallPear.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ file(
144144
)
145145

146146
# Add PHP command-line options for shared dependent extensions.
147-
set(phpPearOptions -d extension_dir=${PHP_BINARY_DIR}/modules)
147+
set(phpPearOptions -d extension_dir=${PHP_BINARY_DIR}/modules/$<CONFIG>)
148148

149149
if(PHP_EXT_OPENSSL_SHARED)
150150
list(APPEND phpPearOptions -d extension=openssl)

0 commit comments

Comments
 (0)