1+ ##############################################################################
2+ # Configure pkg-config php.pc metadata file.
3+ ##############################################################################
4+
5+ include (PHP/PkgConfig)
6+ php_pkgconfig_generate_pc(
7+ php.pc.in
8+ php.pc
9+ TARGET PHP::sapi::cli
10+ VARIABLES
11+ prefix "$<INSTALL_PREFIX>"
12+ exec_prefix "$<INSTALL_PREFIX>"
13+ includedir "$<PATH:ABSOLUTE_PATH,NORMALIZE,${CMAKE_INSTALL_INCLUDEDIR} ,$<INSTALL_PREFIX>>"
14+ php_include_prefix "${PHP_INCLUDE_PREFIX} "
15+ libdir "$<PATH:ABSOLUTE_PATH,NORMALIZE,${CMAKE_INSTALL_LIBDIR} ,$<INSTALL_PREFIX>>"
16+ PHP_VERSION "${PHP_VERSION} "
17+ PHP_VERSION_ID "${PHP_VERSION_ID} "
18+ PHP_EXTENSION_DIR "$<PATH:ABSOLUTE_PATH,NORMALIZE,${PHP_EXTENSION_DIR} ,$<INSTALL_PREFIX>>"
19+ PHP_CONFIG_FILE_SCAN_DIR "$<PATH:ABSOLUTE_PATH,NORMALIZE,${PHP_CONFIG_FILE_SCAN_DIR} ,$<INSTALL_PREFIX>>"
20+ PHP_CONFIG_FILE_PATH "$<PATH:ABSOLUTE_PATH,NORMALIZE,${PHP_CONFIG_FILE_PATH} ,$<INSTALL_PREFIX>>"
21+ PHP_DEBUG "$<IF:$<CONFIG:Debug,DebugAssertions>,yes,no>"
22+ PHP_THREAD_SAFETY "$<IF:$<BOOL:$<TARGET_PROPERTY:PHP::config,PHP_THREAD_SAFETY>>,yes,no>"
23+ )
24+
25+ install (
26+ FILES ${CMAKE_CURRENT_BINARY_DIR} /php.pc
27+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig
28+ )
29+
30+ # The rest of the configuration here is for *nix systems.
31+ if (CMAKE_SYSTEM_NAME STREQUAL "Windows" )
32+ return ()
33+ endif ()
34+
135##############################################################################
236# Configure man documentation.
337##############################################################################
438
539block()
6- if (NOT CMAKE_SYSTEM_NAME STREQUAL "Windows" )
7- set (program_prefix "${PHP_PROGRAM_PREFIX} " )
8-
9- message (STATUS "Creating scripts/man1/php-config.1" )
10- configure_file (man1/php-config.1.in man1/php-config.1 @ONLY)
11- install (
12- FILES ${PROJECT_BINARY_DIR} /scripts/man1/php-config.1
13- RENAME ${PHP_PROGRAM_PREFIX} php-config${PHP_PROGRAM_SUFFIX} .1
14- DESTINATION ${CMAKE_INSTALL_MANDIR} /man1
15- )
40+ set (program_prefix "${PHP_PROGRAM_PREFIX} " )
1641
17- message (STATUS "Creating scripts/man1/phpize.1" )
18- configure_file (man1/phpize.1.in man1/phpize.1 @ONLY)
19- install (
20- FILES ${PROJECT_BINARY_DIR} /scripts/man1/phpize.1
21- RENAME ${PHP_PROGRAM_PREFIX} phpize${PHP_PROGRAM_SUFFIX} .1
22- DESTINATION ${CMAKE_INSTALL_MANDIR} /man1
23- )
24- endif ()
42+ message (STATUS "Creating scripts/man1/php-config.1" )
43+ configure_file (man1/php-config.1.in man1/php-config.1 @ONLY)
44+ install (
45+ FILES ${PROJECT_BINARY_DIR} /scripts/man1/php-config.1
46+ RENAME ${PHP_PROGRAM_PREFIX} php-config${PHP_PROGRAM_SUFFIX} .1
47+ DESTINATION ${CMAKE_INSTALL_MANDIR} /man1
48+ )
49+
50+ message (STATUS "Creating scripts/man1/phpize.1" )
51+ configure_file (man1/phpize.1.in man1/phpize.1 @ONLY)
52+ install (
53+ FILES ${PROJECT_BINARY_DIR} /scripts/man1/phpize.1
54+ RENAME ${PHP_PROGRAM_PREFIX} phpize${PHP_PROGRAM_SUFFIX} .1
55+ DESTINATION ${CMAKE_INSTALL_MANDIR} /man1
56+ )
2557endblock()
2658
27- # The php-config and phpize scripts.
59+ ################################################################################
60+ # Configure php-config script.
61+ ################################################################################
62+
63+ # Find sed for php-config and phpize scripts.
64+ find_program (
65+ PHP_SED_EXECUTABLE
66+ NAMES
67+ sed # Default name available on most *nix systems
68+ gsed # Brew gnu-sed package
69+ DOC "Path to the stream editor (sed) for filtering and transforming text"
70+ )
71+ mark_as_advanced (PHP_SED_EXECUTABLE)
72+ if (PHP_SED_EXECUTABLE)
73+ set (PHP_SED "${PHP_SED_EXECUTABLE} " )
74+ else ()
75+ message (WARNING "sed not found, setting default to /usr/bin/sed" )
76+ set (PHP_SED /usr/bin/sed)
77+ endif ()
78+
2879block()
29- find_program (
30- SED_EXECUTABLE
31- NAMES
32- sed # Default name available on most *nix systems
33- gsed # Brew gnu-sed package
34- DOC "Path to the stream editor (sed) for filtering and transforming text"
35- )
36- mark_as_advanced (SED_EXECUTABLE)
37- if (SED_EXECUTABLE)
38- set (SED "${SED_EXECUTABLE} " )
39- else ()
40- message (WARNING "sed not found, setting default to /usr/bin/sed" )
41- set (SED /usr/bin/sed)
42- endif ()
43-
44- ##############################################################################
4580 message (STATUS "Creating scripts/php-config" )
46- ##############################################################################
4781
4882 get_property (sapis GLOBAL PROPERTY PHP_SAPIS)
4983 set (sapis "$<JOIN:$<LIST:SORT,${sapis} >, >" )
@@ -65,7 +99,7 @@ block()
6599 )
66100
67101 string (CONFIGURE [[
68- set(SED "@SED @")
102+ set(SED "@PHP_SED @")
69103 set(prefix "${CMAKE_INSTALL_PREFIX}")
70104 set(datarootdir "$<PATH:ABSOLUTE_PATH,NORMALIZE,@CMAKE_INSTALL_DATAROOTDIR@,${CMAKE_INSTALL_PREFIX}>")
71105 set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
@@ -81,7 +115,6 @@ block()
81115 set(program_prefix "@PHP_PROGRAM_PREFIX@")
82116 set(program_suffix "@PHP_PROGRAM_SUFFIX@")
83117 set(EXEEXT "@CMAKE_EXECUTABLE_SUFFIX@")
84- # TODO:
85118 set(CONFIGURE_OPTIONS "")
86119 set(PHP_INSTALLED_SAPIS "@sapis@")
87120 set(EXPANDED_PHP_CONFIG_FILE_SCAN_DIR "$<PATH:ABSOLUTE_PATH,NORMALIZE,@PHP_CONFIG_FILE_SCAN_DIR@,${CMAKE_INSTALL_PREFIX}>")
@@ -114,10 +147,14 @@ block()
114147 DESTINATION ${CMAKE_INSTALL_BINDIR}
115148 RENAME ${PHP_PROGRAM_PREFIX} php-config${PHP_PROGRAM_SUFFIX}
116149 )
150+ endblock()
151+
152+ ################################################################################
153+ # Configure phpize script.
154+ ################################################################################
117155
118- ##############################################################################
156+ block()
119157 message (STATUS "Creating scripts/phpize" )
120- ##############################################################################
121158
122159 # Patch phpize template: Replace the upstream phpize script hardcoded php
123160 # include directory to a template placeholder.
@@ -137,7 +174,7 @@ block()
137174 set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
138175 set(libdir "$<PATH:ABSOLUTE_PATH,NORMALIZE,@CMAKE_INSTALL_LIBDIR@/php,${CMAKE_INSTALL_PREFIX}>")
139176 set(includedir "$<PATH:ABSOLUTE_PATH,NORMALIZE,@CMAKE_INSTALL_INCLUDEDIR@/@PHP_INCLUDE_PREFIX@,${CMAKE_INSTALL_PREFIX}>")
140- set(SED "@SED @")
177+ set(SED "@PHP_SED @")
141178 ]] code @ONLY)
142179 cmake_language(EVAL CODE "${code} " )
143180 string (CONFIGURE "${content} " content @ONLY)
@@ -163,55 +200,30 @@ block()
163200 )
164201endblock()
165202
166- # Configure pkg-config php.pc metadata file.
167- include (PHP/PkgConfig)
168- php_pkgconfig_generate_pc(
169- php.pc.in
170- php.pc
171- TARGET PHP::sapi::cli
172- VARIABLES
173- prefix "$<INSTALL_PREFIX>"
174- exec_prefix "$<INSTALL_PREFIX>"
175- includedir "$<PATH:ABSOLUTE_PATH,NORMALIZE,${CMAKE_INSTALL_INCLUDEDIR} ,$<INSTALL_PREFIX>>"
176- php_include_prefix "${PHP_INCLUDE_PREFIX} "
177- libdir "$<PATH:ABSOLUTE_PATH,NORMALIZE,${CMAKE_INSTALL_LIBDIR} ,$<INSTALL_PREFIX>>"
178- PHP_VERSION "${PHP_VERSION} "
179- PHP_VERSION_ID "${PHP_VERSION_ID} "
180- PHP_EXTENSION_DIR "$<PATH:ABSOLUTE_PATH,NORMALIZE,${PHP_EXTENSION_DIR} ,$<INSTALL_PREFIX>>"
181- PHP_CONFIG_FILE_SCAN_DIR "$<PATH:ABSOLUTE_PATH,NORMALIZE,${PHP_CONFIG_FILE_SCAN_DIR} ,$<INSTALL_PREFIX>>"
182- PHP_CONFIG_FILE_PATH "$<PATH:ABSOLUTE_PATH,NORMALIZE,${PHP_CONFIG_FILE_PATH} ,$<INSTALL_PREFIX>>"
183- PHP_DEBUG "$<IF:$<CONFIG:Debug,DebugAssertions>,yes,no>"
184- PHP_THREAD_SAFETY "$<IF:$<BOOL:$<TARGET_PROPERTY:PHP::config,PHP_THREAD_SAFETY>>,yes,no>"
185- )
203+ ################################################################################
204+ # Install Autotools build files.
205+ ################################################################################
186206
187207install (
188- FILES ${CMAKE_CURRENT_BINARY_DIR} /php.pc
189- DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig
208+ FILES
209+ ${PHP_SOURCE_DIR} /build /ax_check_compile_flag.m4
210+ ${PHP_SOURCE_DIR} /build /ax_gcc_func_attribute.m4
211+ ${PHP_SOURCE_DIR} /build /gen_stub.php
212+ ${PHP_SOURCE_DIR} /build /libtool.m4
213+ ${PHP_SOURCE_DIR} /build /ltmain.sh
214+ ${PHP_SOURCE_DIR} /build /Makefile.global
215+ ${PHP_SOURCE_DIR} /build /php_cxx_compile_stdcxx.m4
216+ ${PHP_SOURCE_DIR} /build /php.m4
217+ ${PHP_SOURCE_DIR} /build /pkg.m4
218+ ${PHP_SOURCE_DIR} /run-tests.php
219+ ${PHP_SOURCE_DIR} /scripts/phpize.m4
220+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /php/build
190221)
191222
192- # Install Autotools build files.
193- if (NOT CMAKE_SYSTEM_NAME STREQUAL "Windows" )
194- install (
195- FILES
196- ${PHP_SOURCE_DIR} /build /ax_check_compile_flag.m4
197- ${PHP_SOURCE_DIR} /build /ax_gcc_func_attribute.m4
198- ${PHP_SOURCE_DIR} /build /gen_stub.php
199- ${PHP_SOURCE_DIR} /build /libtool.m4
200- ${PHP_SOURCE_DIR} /build /ltmain.sh
201- ${PHP_SOURCE_DIR} /build /Makefile.global
202- ${PHP_SOURCE_DIR} /build /php_cxx_compile_stdcxx.m4
203- ${PHP_SOURCE_DIR} /build /php.m4
204- ${PHP_SOURCE_DIR} /build /pkg.m4
205- ${PHP_SOURCE_DIR} /run-tests.php
206- ${PHP_SOURCE_DIR} /scripts/phpize.m4
207- DESTINATION ${CMAKE_INSTALL_LIBDIR} /php/build
208- )
209-
210- install (
211- PROGRAMS
212- ${PHP_SOURCE_DIR} /build /config.guess
213- ${PHP_SOURCE_DIR} /build /config.sub
214- ${PHP_SOURCE_DIR} /build /shtool
215- DESTINATION ${CMAKE_INSTALL_LIBDIR} /php/build
216- )
217- endif ()
223+ install (
224+ PROGRAMS
225+ ${PHP_SOURCE_DIR} /build /config.guess
226+ ${PHP_SOURCE_DIR} /build /config.sub
227+ ${PHP_SOURCE_DIR} /build /shtool
228+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /php/build
229+ )
0 commit comments