Skip to content

Commit 456336b

Browse files
committed
Merge branch 'PHP-8.5'
2 parents 250f0a9 + c513d05 commit 456336b

25 files changed

+250
-144
lines changed

CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,10 @@ project(
7878
# Configuration.
7979
block(PROPAGATE phpUrl)
8080
set(
81-
PHP_VERSION_DOWNLOAD "${PROJECT_VERSION}-dev"
82-
CACHE STRING "The PHP version to download"
81+
CACHE{PHP_VERSION_DOWNLOAD}
82+
TYPE STRING
83+
HELP "The PHP version to download"
84+
VALUE "${PROJECT_VERSION}-dev"
8385
)
8486
mark_as_advanced(PHP_VERSION_DOWNLOAD)
8587

cmake/Zend/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,10 @@ mark_as_advanced(PHP_ZEND_GLOBAL_REGISTER_VARIABLES)
8686

8787
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
8888
set(
89-
PHP_ZEND_MAX_EXECUTION_TIMERS
90-
"auto"
91-
CACHE STRING
92-
"Enable Zend max execution timers"
89+
CACHE{PHP_ZEND_MAX_EXECUTION_TIMERS}
90+
TYPE STRING
91+
HELP "Enable Zend max execution timers"
92+
VALUE "auto"
9393
)
9494
mark_as_advanced(PHP_ZEND_MAX_EXECUTION_TIMERS)
9595
set_property(

cmake/cmake/Configuration.cmake

Lines changed: 105 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -16,65 +16,97 @@ include_guard(GLOBAL)
1616
include(CMakeDependentOption)
1717
include(FeatureSummary)
1818

19-
set(PHP_UNAME "" CACHE STRING "Build system uname")
20-
mark_as_advanced(PHP_UNAME)
21-
22-
if(CMAKE_UNAME AND NOT PHP_UNAME)
23-
execute_process(
24-
COMMAND ${CMAKE_UNAME} -a
25-
OUTPUT_VARIABLE PHP_UNAME
26-
OUTPUT_STRIP_TRAILING_WHITESPACE
27-
ERROR_QUIET
19+
block()
20+
set(CACHE{PHP_UNAME} TYPE STRING HELP "Build system uname" VALUE "")
21+
mark_as_advanced(PHP_UNAME)
22+
23+
find_program(
24+
PHP_UNAME_EXECUTABLE
25+
NAMES uname
26+
DOC "Path to the uname command-line executable"
2827
)
29-
elseif(NOT PHP_UNAME AND CMAKE_HOST_SYSTEM)
30-
set_property(CACHE PHP_UNAME PROPERTY VALUE "${CMAKE_HOST_SYSTEM}")
31-
endif()
28+
mark_as_advanced(PHP_UNAME_EXECUTABLE)
29+
30+
if(NOT PHP_UNAME AND PHP_UNAME_EXECUTABLE)
31+
execute_process(
32+
COMMAND ${PHP_UNAME_EXECUTABLE} -a
33+
OUTPUT_VARIABLE output
34+
OUTPUT_STRIP_TRAILING_WHITESPACE
35+
ERROR_QUIET
36+
)
37+
set_property(CACHE PHP_UNAME PROPERTY VALUE "${output}")
38+
elseif(NOT PHP_UNAME AND CMAKE_HOST_SYSTEM)
39+
set_property(CACHE PHP_UNAME PROPERTY VALUE "${CMAKE_HOST_SYSTEM}")
40+
endif()
41+
endblock()
3242

33-
set(PHP_BUILD_SYSTEM "${PHP_UNAME}" CACHE STRING "Build system uname")
43+
set(
44+
CACHE{PHP_BUILD_SYSTEM}
45+
TYPE STRING
46+
HELP "Build system uname"
47+
VALUE "${PHP_UNAME}"
48+
)
3449
mark_as_advanced(PHP_BUILD_SYSTEM)
3550

3651
set(
37-
PHP_BUILD_ARCH "${CMAKE_C_COMPILER_ARCHITECTURE_ID}"
38-
CACHE STRING "Build target architecture displayed in phpinfo"
52+
CACHE{PHP_BUILD_ARCH}
53+
TYPE STRING
54+
HELP "Build target architecture displayed in phpinfo"
55+
VALUE "${CMAKE_C_COMPILER_ARCHITECTURE_ID}"
3956
)
4057
mark_as_advanced(PHP_BUILD_ARCH)
4158

4259
set(
43-
PHP_BUILD_COMPILER "${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION}"
44-
CACHE STRING "Compiler used for build displayed in phpinfo"
60+
CACHE{PHP_BUILD_COMPILER}
61+
TYPE STRING
62+
HELP "Compiler used for build displayed in phpinfo"
63+
VALUE "${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION}"
4564
)
4665
mark_as_advanced(PHP_BUILD_COMPILER)
4766

48-
set(PHP_BUILD_PROVIDER "" CACHE STRING "Build provider displayed in phpinfo")
67+
set(
68+
CACHE{PHP_BUILD_PROVIDER}
69+
TYPE STRING
70+
HELP "Build provider displayed in phpinfo"
71+
VALUE ""
72+
)
4973
mark_as_advanced(PHP_BUILD_PROVIDER)
5074

5175
set(
52-
PHP_INCLUDE_PREFIX "php"
53-
CACHE STRING
54-
"The relative directory inside the CMAKE_INSTALL_INCLUDEDIR, where to install\
55-
PHP headers. For example, 'php/${PHP_VERSION}' to specify version or other\
56-
build-related characteristics and have multiple PHP versions installed.\
57-
Absolute paths are treated as relative; set CMAKE_INSTALL_INCLUDEDIR if\
58-
absolute path needs to be set."
76+
CACHE{PHP_INCLUDE_PREFIX}
77+
TYPE STRING
78+
HELP
79+
"The relative directory inside the CMAKE_INSTALL_INCLUDEDIR, where to "
80+
"install PHP headers. For example, 'php/${PHP_VERSION}' to specify version "
81+
"or other build-related characteristics and have multiple PHP versions "
82+
"installed. Absolute paths are treated as relative; set "
83+
"CMAKE_INSTALL_INCLUDEDIR if absolute path needs to be set."
84+
VALUE "php"
5985
)
6086
mark_as_advanced(PHP_INCLUDE_PREFIX)
6187

6288
set(
63-
PHP_CONFIG_FILE_SCAN_DIR ""
64-
CACHE PATH "The path where to scan for additional INI configuration files; By\
65-
default it is empty value; Pass it as a relative path inside the install\
66-
prefix, which will be automatically prepended; If given as an absolute path,\
67-
install prefix is not prepended."
89+
CACHE{PHP_CONFIG_FILE_SCAN_DIR}
90+
TYPE PATH
91+
HELP
92+
"The path where to scan for additional INI configuration files; By default "
93+
"it is empty value; Pass it as a relative path inside the install prefix, "
94+
"which will be automatically prepended; If given as an absolute path, "
95+
"install prefix is not prepended."
96+
VALUE ""
6897
)
6998
mark_as_advanced(PHP_CONFIG_FILE_SCAN_DIR)
7099

71100
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
72101
set(
73-
PHP_CONFIG_FILE_PATH ""
74-
CACHE FILEPATH "The path in which to look for php.ini; By default, it is\
75-
set to SYSCONFDIR (etc); Relative path gets the CMAKE_INSTALL_PREFIX\
76-
automatically prepended; If given as an absolute path, install prefix is\
77-
not appended."
102+
CACHE{PHP_CONFIG_FILE_PATH}
103+
TYPE FILEPATH
104+
HELP
105+
"The path in which to look for php.ini; By default, it is set to "
106+
"SYSCONFDIR (etc); Relative path gets the CMAKE_INSTALL_PREFIX "
107+
"automatically prepended; If given as an absolute path, install prefix "
108+
"is not appended."
109+
VALUE ""
78110
)
79111
mark_as_advanced(PHP_CONFIG_FILE_PATH)
80112
if(NOT PHP_CONFIG_FILE_PATH)
@@ -86,10 +118,20 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
86118
endif()
87119
endif()
88120

89-
set(PHP_PROGRAM_PREFIX "" CACHE STRING "Prepend prefix to the program names")
121+
set(
122+
CACHE{PHP_PROGRAM_PREFIX}
123+
TYPE STRING
124+
HELP "Prepend prefix to the program names"
125+
VALUE ""
126+
)
90127
mark_as_advanced(PHP_PROGRAM_PREFIX)
91128

92-
set(PHP_PROGRAM_SUFFIX "" CACHE STRING "Append suffix to the program names")
129+
set(
130+
CACHE{PHP_PROGRAM_SUFFIX}
131+
TYPE STRING
132+
HELP "Append suffix to the program names"
133+
VALUE ""
134+
)
93135
mark_as_advanced(PHP_PROGRAM_SUFFIX)
94136

95137
option(PHP_THREAD_SAFETY "Enable thread safety (ZTS)")
@@ -130,13 +172,18 @@ mark_as_advanced(PHP_DMALLOC)
130172
option(PHP_DTRACE "Enable DTrace support")
131173
mark_as_advanced(PHP_DTRACE)
132174

133-
set(PHP_FD_SETSIZE "" CACHE STRING "Size of file descriptor sets")
175+
set(
176+
CACHE{PHP_FD_SETSIZE}
177+
TYPE STRING
178+
HELP "Size of file descriptor sets"
179+
VALUE ""
180+
)
181+
mark_as_advanced(PHP_FD_SETSIZE)
134182
if(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND PHP_FD_SETSIZE STREQUAL "")
135183
# This allows up to 256 sockets to be select()ed in a single call to select(),
136184
# instead of the usual 64.
137185
set_property(CACHE PHP_FD_SETSIZE PROPERTY VALUE "256")
138186
endif()
139-
mark_as_advanced(PHP_FD_SETSIZE)
140187

141188
option(PHP_VALGRIND "Enable the Valgrind support")
142189
mark_as_advanced(PHP_VALGRIND)
@@ -176,30 +223,30 @@ mark_as_advanced(PHP_SYSTEM_GLOB)
176223
################################################################################
177224

178225
set(
179-
PHP_EXTENSION_DIR ""
180-
CACHE PATH
181-
"Default directory for dynamically loadable PHP extensions. If left empty, it\
182-
is determined automatically. Can be overridden using the PHP 'extension_dir'\
183-
INI directive."
226+
CACHE{PHP_EXTENSION_DIR}
227+
TYPE PATH
228+
HELP
229+
"Default directory for dynamically loadable PHP extensions. If left empty, "
230+
"it is determined automatically. Can be overridden using the PHP "
231+
"'extension_dir' INI directive."
232+
VALUE ""
184233
)
185234
mark_as_advanced(PHP_EXTENSION_DIR)
186235

187236
# Assemble the PHP_EXTENSION_DIR default value.
188-
block()
189-
if(NOT PHP_EXTENSION_DIR)
190-
set(
191-
extensionDir
192-
"${CMAKE_INSTALL_LIBDIR}/php/$<TARGET_PROPERTY:Zend::Zend,ZEND_MODULE_API_NO>$<$<BOOL:$<TARGET_PROPERTY:PHP::config,PHP_THREAD_SAFETY>>:-zts>$<$<BOOL:$<CONFIG>>:-$<CONFIG>>"
193-
)
194-
195-
# This would resemble the PHP Autotools --with-layout=GNU:
196-
#set(extensionDir "${CMAKE_INSTALL_LIBDIR}/php/$<TARGET_PROPERTY:Zend::Zend,ZEND_MODULE_API_NO>$<$<BOOL:$<TARGET_PROPERTY:PHP::config,PHP_THREAD_SAFETY>>:-zts>$<$<CONFIG:Debug,DebugAssertions>:-debug>")
197-
# This would resemble the PHP Autotools --with-layout=PHP (default):
198-
#set(extensionDir "${CMAKE_INSTALL_LIBDIR}/php/extensions/$<IF:$<CONFIG:Debug,DebugAssertions>,debug,no-debug>$<IF:$<BOOL:$<TARGET_PROPERTY:PHP::config,PHP_THREAD_SAFETY>>,-zts,-non-zts>-$<TARGET_PROPERTY:Zend::Zend,ZEND_MODULE_API_NO>")
237+
if(NOT PHP_EXTENSION_DIR)
238+
set_property(
239+
CACHE PHP_EXTENSION_DIR
240+
PROPERTY
241+
VALUE
242+
"${CMAKE_INSTALL_LIBDIR}/php/$<TARGET_PROPERTY:Zend::Zend,ZEND_MODULE_API_NO>$<$<BOOL:$<TARGET_PROPERTY:PHP::config,PHP_THREAD_SAFETY>>:-zts>$<$<BOOL:$<CONFIG>>:-$<CONFIG>>"
243+
)
199244

200-
set_property(CACHE PHP_EXTENSION_DIR PROPERTY VALUE "${extensionDir}")
201-
endif()
202-
endblock()
245+
# This would resemble the PHP Autotools --with-layout=GNU:
246+
#set(extension_dir "${CMAKE_INSTALL_LIBDIR}/php/$<TARGET_PROPERTY:Zend::Zend,ZEND_MODULE_API_NO>$<$<BOOL:$<TARGET_PROPERTY:PHP::config,PHP_THREAD_SAFETY>>:-zts>$<$<CONFIG:Debug,DebugAssertions>:-debug>")
247+
# This would resemble the PHP Autotools --with-layout=PHP (default):
248+
#set(extension_dir "${CMAKE_INSTALL_LIBDIR}/php/extensions/$<IF:$<CONFIG:Debug,DebugAssertions>,debug,no-debug>$<IF:$<BOOL:$<TARGET_PROPERTY:PHP::config,PHP_THREAD_SAFETY>>,-zts,-non-zts>-$<TARGET_PROPERTY:Zend::Zend,ZEND_MODULE_API_NO>")
249+
endif()
203250

204251
################################################################################
205252
# Various global internal configuration.

cmake/cmake/ConfigureChecks.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ set(HAVE_EXPLICIT_MEMSET ${PHP_HAVE_EXPLICIT_MEMSET})
367367
check_symbol_exists(fdatasync unistd.h PHP_HAVE_FDATASYNC)
368368
# The fdatasync declaration on macOS is missing in headers, yet is in C library.
369369
if(NOT PHP_HAVE_FDATASYNC)
370-
unset(PHP_HAVE_FDATASYNC CACHE)
370+
unset(CACHE{PHP_HAVE_FDATASYNC})
371371
check_function_exists(fdatasync PHP_HAVE_FDATASYNC)
372372
endif()
373373
set(HAVE_FDATASYNC ${PHP_HAVE_FDATASYNC})

cmake/cmake/Extensions.cmake

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,11 @@ function(php_extensions_preprocess)
9696
)
9797

9898
set(
99-
PHP_EXT_${extensionUpper}_SHARED
100-
ON
101-
CACHE BOOL
102-
"Build the ${extension} extension as a shared library"
99+
CACHE{PHP_EXT_${extensionUpper}_SHARED}
100+
TYPE BOOL
101+
HELP "Build the ${extension} extension as a shared library"
103102
FORCE
103+
VALUE ON
104104
)
105105

106106
break()
@@ -393,11 +393,11 @@ function(php_extensions_postconfigure extension)
393393
set_property(CACHE PHP_EXT_${dependencyUpper} PROPERTY VALUE ON)
394394
else()
395395
set(
396-
PHP_EXT_${dependencyUpper}
397-
ON
398-
CACHE BOOL
399-
"Enable the ${dependency} extension"
396+
CACHE{PHP_EXT_${dependencyUpper}}
397+
TYPE BOOL
398+
HELP "Enable the ${dependency} extension"
400399
FORCE
400+
VALUE ON
401401
)
402402
endif()
403403
endforeach()

cmake/cmake/Version.cmake

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ block(PROPAGATE PHP_VERSION)
1818
file(STRINGS configure.ac _ REGEX "^AC_INIT.+PHP\\],\\[([0-9.]+)([^]]*)")
1919
set(PHP_VERSION "${CMAKE_MATCH_1}")
2020
set(
21-
PHP_VERSION_LABEL "${CMAKE_MATCH_2}"
22-
CACHE STRING "Extra PHP version label suffix, e.g. '-dev', 'rc1', '-acme'"
21+
CACHE{PHP_VERSION_LABEL}
22+
TYPE STRING
23+
HELP "Extra PHP version label suffix, e.g. '-dev', 'rc1', '-acme'"
24+
VALUE "${CMAKE_MATCH_2}"
2325
)
2426
mark_as_advanced(PHP_VERSION_LABEL)
2527
endblock()

cmake/cmake/modules/FindACL.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ if(
141141
if(ACL_INCLUDE_DIR AND ACL_LIBRARY)
142142
set(ACL_IS_BUILT_IN FALSE)
143143
else()
144-
unset(ACL_INCLUDE_DIR CACHE)
145-
unset(ACL_LIBRARY CACHE)
144+
unset(CACHE{ACL_INCLUDE_DIR})
145+
unset(CACHE{ACL_LIBRARY})
146146
endif()
147147
endif()
148148

cmake/cmake/modules/FindBerkeleyDB.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ if(BerkeleyDB_USE_DB1)
106106
cmake_pop_check_state()
107107

108108
if(NOT _berkeleydb_db1_sanity_check)
109-
unset(BerkeleyDB_DB1_INCLUDE_DIR CACHE)
109+
unset(CACHE{BerkeleyDB_DB1_INCLUDE_DIR})
110110
message(CHECK_FAIL "disabled, not found")
111111
else()
112112
message(CHECK_PASS "enabled")

cmake/cmake/modules/FindCrypt.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ if(
9393
if(Crypt_INCLUDE_DIR AND Crypt_LIBRARY)
9494
set(Crypt_IS_BUILT_IN FALSE)
9595
else()
96-
unset(Crypt_INCLUDE_DIR CACHE)
97-
unset(Crypt_LIBRARY CACHE)
96+
unset(CACHE{Crypt_INCLUDE_DIR})
97+
unset(CACHE{Crypt_LIBRARY})
9898
endif()
9999
endif()
100100

cmake/cmake/modules/FindIconv.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ if(
5757
if(Iconv_INCLUDE_DIR AND Iconv_LIBRARY)
5858
set(Iconv_IS_BUILT_IN FALSE)
5959
else()
60-
unset(Iconv_INCLUDE_DIR CACHE)
61-
unset(Iconv_LIBRARY CACHE)
60+
unset(CACHE{Iconv_INCLUDE_DIR})
61+
unset(CACHE{Iconv_LIBRARY})
6262
endif()
6363
endif()
6464

0 commit comments

Comments
 (0)