Skip to content

Commit 497326d

Browse files
committed
Rename PHPSystem
This renames the weird PHPSystem to simply PHP, however it may clash with variables set by `project(PHP)`. In checking and refactoring phase...
1 parent 7b0965e commit 497326d

File tree

9 files changed

+106
-83
lines changed

9 files changed

+106
-83
lines changed

cmake/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ block()
6262
endblock()
6363

6464
# Rebuild all targets as needed.
65-
if(NOT PHPSystem_EXECUTABLE)
65+
if(NOT PHP_EXECUTABLE)
6666
include(PHP/Rebuild)
6767
endif()
6868

cmake/cmake/Requirements.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,4 +127,4 @@ find_package(Sendmail)
127127
# it can be used. Otherwise the built cli sapi is used at the build phase.
128128
# Minimum supported version for gen_stub.php is PHP 7.4.
129129
################################################################################
130-
find_package(PHPSystem 7.4)
130+
find_package(PHP 7.4 MODULE)

cmake/cmake/modules/FindPHP.cmake

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
#[=============================================================================[
2+
# FindPHP
3+
4+
Find PHP on the system, if installed. This is a helper module for using PHP CLI
5+
during the build and development of PHP sources. See also
6+
`ext/skeleton/cmake/modules/FindPHP.cmake` module.
7+
8+
## Result variables
9+
10+
* `PHP_FOUND` - Whether the package has been found.
11+
* `PHP_EXECUTABLE_VERSION` - Package version, if found.
12+
13+
## Cache variables
14+
15+
* `PHP_EXECUTABLE` - PHP command-line executable, if available.
16+
#]=============================================================================]
17+
18+
include(FeatureSummary)
19+
include(FindPackageHandleStandardArgs)
20+
21+
set_package_properties(
22+
PHP
23+
PROPERTIES
24+
URL "https://www.php.net"
25+
DESCRIPTION "PHP: Hypertext Preprocessor"
26+
)
27+
28+
set(_reason "")
29+
30+
find_program(
31+
PHP_EXECUTABLE
32+
NAMES php
33+
DOC "Path to the PHP executable"
34+
)
35+
mark_as_advanced(PHP_EXECUTABLE)
36+
37+
if(NOT PHP_EXECUTABLE)
38+
string(APPEND _reason "The php command-line executable could not be found. ")
39+
endif()
40+
41+
unset(PHP_EXECUTABLE_VERSION)
42+
block(PROPAGATE PHP_EXECUTABLE_VERSION)
43+
if(PHP_EXECUTABLE)
44+
execute_process(
45+
COMMAND ${PHP_EXECUTABLE} --version
46+
OUTPUT_VARIABLE version
47+
OUTPUT_STRIP_TRAILING_WHITESPACE
48+
ERROR_VARIABLE error
49+
RESULT_VARIABLE result
50+
)
51+
52+
if(NOT result EQUAL 0)
53+
message(
54+
SEND_ERROR
55+
"Command \"${PHP_EXECUTABLE} --version\" failed with output:\n"
56+
"${error}"
57+
)
58+
endif()
59+
60+
if(version MATCHES "PHP ([0-9]+[0-9.]+[^ ]+) \\(cli\\)")
61+
set(PHP_EXECUTABLE_VERSION "${CMAKE_MATCH_1}")
62+
endif()
63+
endif()
64+
endblock()
65+
66+
find_package_handle_standard_args(
67+
PHP
68+
REQUIRED_VARS PHP_EXECUTABLE PHP_EXECUTABLE_VERSION
69+
VERSION_VAR PHP_EXECUTABLE_VERSION
70+
HANDLE_VERSION_RANGE
71+
REASON_FAILURE_MESSAGE "${_reason}"
72+
)
73+
74+
unset(_reason)

cmake/cmake/modules/FindPHPSystem.cmake

-59
This file was deleted.

cmake/cmake/modules/PHP/AddCustomCommand.cmake

+8-5
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,10 @@ function(php_add_custom_command)
8282
set(verbatim "")
8383
endif()
8484

85-
if(PHPSystem_EXECUTABLE)
85+
if(PHP_EXECUTABLE)
8686
add_custom_command(
8787
OUTPUT ${parsed_OUTPUT}
88-
COMMAND ${PHPSystem_EXECUTABLE} ${parsed_PHP_COMMAND}
88+
COMMAND ${PHP_EXECUTABLE} ${parsed_PHP_COMMAND}
8989
DEPENDS ${parsed_DEPENDS}
9090
COMMENT "${parsed_COMMENT}"
9191
${verbatim}
@@ -99,9 +99,12 @@ function(php_add_custom_command)
9999
endif()
100100

101101
if(NOT CMAKE_CROSSCOMPILING)
102-
set(PHP_EXECUTABLE "$<TARGET_FILE:PHP::sapi::cli>")
102+
set(phpExecutable "$<TARGET_FILE:PHP::sapi::cli>")
103103
elseif(CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR)
104-
set(PHP_EXECUTABLE "${CMAKE_CROSSCOMPILING_EMULATOR};$<TARGET_FILE:PHP::sapi::cli>")
104+
set(
105+
phpExecutable
106+
"${CMAKE_CROSSCOMPILING_EMULATOR};$<TARGET_FILE:PHP::sapi::cli>"
107+
)
105108
else()
106109
return()
107110
endif()
@@ -111,7 +114,7 @@ function(php_add_custom_command)
111114
add_custom_target(
112115
${targetName} ALL
113116
COMMAND ${CMAKE_COMMAND}
114-
-D "PHP_EXECUTABLE=${PHP_EXECUTABLE}"
117+
-D "PHP_EXECUTABLE=${phpExecutable}"
115118
-D "OUTPUT=${parsed_OUTPUT}"
116119
-D "PHP_COMMAND=${parsed_PHP_COMMAND}"
117120
-D "DEPENDS=${parsed_DEPENDS}"

cmake/cmake/modules/PHP/Stubs.cmake

+6-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function(_php_stubs_get_php_command result)
1515
# If PHP is not found on the system, the PHP cli SAPI will be used with the
1616
# tokenizer extension.
1717
if(
18-
NOT PHPSystem_EXECUTABLE
18+
NOT PHP_EXECUTABLE
1919
AND (
2020
NOT TARGET PHP::sapi::cli
2121
OR (TARGET PHP::sapi::cli AND NOT TARGET PHP::ext::tokenizer)
@@ -25,16 +25,16 @@ function(_php_stubs_get_php_command result)
2525
endif()
2626

2727
# If external PHP is available, check for the required tokenizer extension.
28-
if(PHPSystem_EXECUTABLE)
28+
if(PHP_EXECUTABLE)
2929
execute_process(
30-
COMMAND ${PHPSystem_EXECUTABLE} --ri tokenizer
30+
COMMAND ${PHP_EXECUTABLE} --ri tokenizer
3131
RESULT_VARIABLE code
3232
OUTPUT_QUIET
3333
ERROR_QUIET
3434
)
3535

3636
if(code EQUAL 0)
37-
set(${result} ${PHPSystem_EXECUTABLE})
37+
set(${result} ${PHP_EXECUTABLE})
3838
return(PROPAGATE ${result})
3939
endif()
4040
endif()
@@ -113,7 +113,7 @@ block()
113113
$<PATH:ABSOLUTE_PATH,NORMALIZE,$<LIST:FILTER,$<TARGET_PROPERTY:${target},SOURCES>,INCLUDE,\.stub\.php$>,$<TARGET_PROPERTY:${target},SOURCE_DIR>>
114114
)
115115

116-
if(PHPSystem_EXECUTABLE)
116+
if(PHP_EXECUTABLE)
117117
add_dependencies(${target} php_stubs)
118118
endif()
119119
endforeach()
@@ -128,7 +128,7 @@ block()
128128
)
129129

130130
set(targetOptions "")
131-
if(NOT PHPSystem_EXECUTABLE)
131+
if(NOT PHP_EXECUTABLE)
132132
set(targetOptions ALL DEPENDS ${targets})
133133
endif()
134134

cmake/ext/phar/CMakeLists.txt

+8-5
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,12 @@ if(NOT TARGET PHP::sapi::cli)
125125
endif()
126126

127127
if(NOT CMAKE_CROSSCOMPILING)
128-
set(PHP_EXECUTABLE "$<TARGET_FILE:PHP::sapi::cli>")
128+
set(phpExecutable "$<TARGET_FILE:PHP::sapi::cli>")
129129
elseif(CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR)
130-
set(PHP_EXECUTABLE "${CMAKE_CROSSCOMPILING_EMULATOR};$<TARGET_FILE:PHP::sapi::cli>")
130+
set(
131+
phpExecutable
132+
"${CMAKE_CROSSCOMPILING_EMULATOR};$<TARGET_FILE:PHP::sapi::cli>"
133+
)
131134
else()
132135
return()
133136
endif()
@@ -151,7 +154,7 @@ cmake_path(
151154
add_custom_command(
152155
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/phar.php
153156
COMMAND
154-
${PHP_EXECUTABLE}
157+
${phpExecutable}
155158
-n
156159
${pharSharedOptions}
157160
-d open_basedir=
@@ -167,7 +170,7 @@ add_custom_command(
167170
add_custom_command(
168171
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/phar.phar
169172
COMMAND
170-
${PHP_EXECUTABLE}
173+
${phpExecutable}
171174
-n
172175
${pharSharedOptions}
173176
-d open_basedir=
@@ -244,7 +247,7 @@ set_property(SOURCE php_ext_phar_generated_phar PROPERTY SYMBOLIC TRUE)
244247
install(CODE "
245248
execute_process(
246249
COMMAND
247-
${PHP_EXECUTABLE}
250+
${phpExecutable}
248251
-n
249252
${pharSharedOptions}
250253
-d open_basedir=

cmake/pear/CMakeLists.txt

+7-4
Original file line numberDiff line numberDiff line change
@@ -121,19 +121,22 @@ block()
121121
endforeach()
122122
endblock()
123123

124-
set(PHP_EXECUTABLE "")
124+
set(phpExecutable "")
125125
if(NOT CMAKE_CROSSCOMPILING)
126-
set(PHP_EXECUTABLE "$<TARGET_FILE:PHP::sapi::cli>")
126+
set(phpExecutable "$<TARGET_FILE:PHP::sapi::cli>")
127127
elseif(CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR)
128-
set(PHP_EXECUTABLE "${CMAKE_CROSSCOMPILING_EMULATOR};$<TARGET_FILE:PHP::sapi::cli>")
128+
set(
129+
phpExecutable
130+
"${CMAKE_CROSSCOMPILING_EMULATOR};$<TARGET_FILE:PHP::sapi::cli>"
131+
)
129132
endif()
130133

131134
php_install(CODE "
132135
set(phpPearInstallDir \"$<PATH:ABSOLUTE_PATH,NORMALIZE,${PHP_PEAR_DIR},\${CMAKE_INSTALL_PREFIX}>\")
133136
set(phpPearInstallBinDir \"$<PATH:ABSOLUTE_PATH,NORMALIZE,${CMAKE_INSTALL_BINDIR},\${CMAKE_INSTALL_PREFIX}>\")
134137
set(phpPearCurrentSourceDir \"${CMAKE_CURRENT_SOURCE_DIR}\")
135138
set(phpPearCurrentBinaryDir \"${CMAKE_CURRENT_BINARY_DIR}\")
136-
set(phpPearPhpExecutable \"${PHP_EXECUTABLE}\")
139+
set(phpPearPhpExecutable \"${phpExecutable}\")
137140
set(phpExtensionDir \"$<PATH:ABSOLUTE_PATH,NORMALIZE,${PHP_EXTENSION_DIR},\${CMAKE_INSTALL_PREFIX}>\")
138141
set(PHP_EXT_OPENSSL_SHARED ${PHP_EXT_OPENSSL_SHARED})
139142
set(PHP_EXT_XML_SHARED ${PHP_EXT_XML_SHARED})

cmake/pear/cmake/InstallPear.cmake

+1-2
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,7 @@ file(
141141
${phpPearStageTempDir}/temp
142142
)
143143

144-
# Add options for PHP executable, when dependent extensions are shared, they
145-
# need to be loaded for the PHP_EXECUTABLE.
144+
# Add options for PHP executable, when dependent extensions are shared.
146145
set(phpPearOptions -d extension_dir=${PHP_BINARY_DIR}/modules)
147146

148147
if(PHP_EXT_OPENSSL_SHARED)

0 commit comments

Comments
 (0)