Skip to content

Commit c4c45d1

Browse files
committed
Remove PHP/Install module
Creating a local installation module complicates CMake project way too much. A simpler way is chosen to not worry about the --prefix option anymore (cmake --install <build-dir> --prefix <prefix>). Setting installation prefix has consequences when it is chosen in CMake-based projects from the beginning till today. Upstream docs fixes has been sent instead to clarify when the --prefix option should be used.
1 parent 4db5087 commit c4c45d1

File tree

5 files changed

+50
-211
lines changed

5 files changed

+50
-211
lines changed

cmake/cmake/modules/PHP/Install.cmake

Lines changed: 0 additions & 151 deletions
This file was deleted.

cmake/ext/phar/CMakeLists.txt

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -243,31 +243,31 @@ set_property(SOURCE php_ext_phar_generated_phar PROPERTY SYMBOLIC TRUE)
243243
# Install phar.phar file to destination. Here a duplicate phar.phar generation
244244
# step is used to generate it to a destination directory because of the install
245245
# prefix used in shebang (when using 'cmake --install --prefix ...').
246-
install(CODE "
246+
string(CONFIGURE [[
247247
execute_process(
248248
COMMAND
249-
${PHP_EXECUTABLE}
249+
"@PHP_EXECUTABLE@"
250250
-n
251-
${phar_shared_options}
251+
@phar_shared_options@
252252
-d open_basedir=
253253
-d output_buffering=0
254254
-d memory_limit=-1
255255
-d phar.readonly=0
256-
${CMAKE_CURRENT_BINARY_DIR}/phar.php
256+
"@CMAKE_CURRENT_BINARY_DIR@/phar.php"
257257
pack
258-
-f ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/phar.phar
258+
-f "@CMAKE_CURRENT_BINARY_DIR@/CMakeFiles/phar.phar"
259259
-a pharcommand
260260
-c auto
261261
-p 0
262-
-s ${CMAKE_CURRENT_SOURCE_DIR}/phar/phar.php
262+
-s "@CMAKE_CURRENT_SOURCE_DIR@/phar/phar.php"
263263
-h sha1
264-
-b $<PATH:ABSOLUTE_PATH,NORMALIZE,${CMAKE_INSTALL_BINDIR},\${CMAKE_INSTALL_PREFIX}>/$<TARGET_FILE_NAME:PHP::sapi::cli>
265-
${CMAKE_CURRENT_SOURCE_DIR}/phar
264+
-b "$<PATH:ABSOLUTE_PATH,NORMALIZE,@CMAKE_INSTALL_BINDIR@,${CMAKE_INSTALL_PREFIX}>/$<TARGET_FILE_NAME:PHP::sapi::cli>"
265+
"@CMAKE_CURRENT_SOURCE_DIR@/phar"
266266
)
267267

268268
file(
269269
CHMOD
270-
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/phar.phar
270+
"@CMAKE_CURRENT_BINARY_DIR@/CMakeFiles/phar.phar"
271271
FILE_PERMISSIONS
272272
OWNER_READ
273273
OWNER_WRITE
@@ -280,14 +280,15 @@ install(CODE "
280280

281281
file(
282282
COPY_FILE
283-
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/phar.phar
284-
\$ENV{DESTDIR}$<PATH:ABSOLUTE_PATH,NORMALIZE,${CMAKE_INSTALL_BINDIR},\${CMAKE_INSTALL_PREFIX}>/${PHP_PROGRAM_PREFIX}phar${PHP_PROGRAM_SUFFIX}.phar
283+
"@CMAKE_CURRENT_BINARY_DIR@/CMakeFiles/phar.phar"
284+
$ENV{DESTDIR}$<PATH:ABSOLUTE_PATH,NORMALIZE,@CMAKE_INSTALL_BINDIR@,${CMAKE_INSTALL_PREFIX}>/@PHP_PROGRAM_PREFIX@phar@PHP_PROGRAM_SUFFIX@.phar
285285
)
286286

287287
file(
288288
CREATE_LINK
289-
${PHP_PROGRAM_PREFIX}phar${PHP_PROGRAM_SUFFIX}.phar
290-
\$ENV{DESTDIR}$<PATH:ABSOLUTE_PATH,NORMALIZE,${CMAKE_INSTALL_BINDIR},\${CMAKE_INSTALL_PREFIX}>/${PHP_PROGRAM_PREFIX}phar${PHP_PROGRAM_SUFFIX}
289+
@PHP_PROGRAM_PREFIX@phar@PHP_PROGRAM_SUFFIX@.phar
290+
$ENV{DESTDIR}$<PATH:ABSOLUTE_PATH,NORMALIZE,@CMAKE_INSTALL_BINDIR@,${CMAKE_INSTALL_PREFIX}>/@PHP_PROGRAM_PREFIX@phar@PHP_PROGRAM_SUFFIX@
291291
SYMBOLIC
292292
)
293-
")
293+
]] code @ONLY)
294+
install(CODE "${code}")

cmake/pear/CMakeLists.txt

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ Windows.
4444
#]=============================================================================]
4545

4646
include(FeatureSummary)
47-
include(PHP/Install)
4847
include(PHP/Set)
4948

5049
option(
@@ -128,21 +127,22 @@ elseif(CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR)
128127
set(PHP_EXECUTABLE "${CMAKE_CROSSCOMPILING_EMULATOR};$<TARGET_FILE:PHP::sapi::cli>")
129128
endif()
130129

131-
php_install(CODE "
132-
set(php_pear_install_dir \"$<PATH:ABSOLUTE_PATH,NORMALIZE,${PHP_PEAR_DIR},\${CMAKE_INSTALL_PREFIX}>\")
133-
set(php_pear_install_bin_dir \"$<PATH:ABSOLUTE_PATH,NORMALIZE,${CMAKE_INSTALL_BINDIR},\${CMAKE_INSTALL_PREFIX}>\")
134-
set(php_pear_current_source_dir \"${CMAKE_CURRENT_SOURCE_DIR}\")
135-
set(php_pear_current_binary_dir \"${CMAKE_CURRENT_BINARY_DIR}\")
136-
set(php_pear_php_executable \"${PHP_EXECUTABLE}\")
137-
set(php_pear_extension_dir \"$<PATH:ABSOLUTE_PATH,NORMALIZE,${PHP_EXTENSION_DIR},\${CMAKE_INSTALL_PREFIX}>\")
138-
set(PHP_EXT_OPENSSL_SHARED ${PHP_EXT_OPENSSL_SHARED})
139-
set(PHP_EXT_XML_SHARED ${PHP_EXT_XML_SHARED})
140-
set(PHP_BINARY_DIR ${PHP_BINARY_DIR})
141-
set(CMAKE_SYSTEM_NAME ${CMAKE_SYSTEM_NAME})
142-
set(PHP_PEAR_TEMP_DIR \"${PHP_PEAR_TEMP_DIR}\")
143-
set(php_pear_installed_php_bin \"\${php_pear_install_bin_dir}/$<TARGET_FILE_NAME:PHP::sapi::cli>\")
144-
set(php_pear_php_program_prefix \"${PHP_PROGRAM_PREFIX}\")
145-
set(php_pear_php_program_suffix \"${PHP_PROGRAM_SUFFIX}\")
146-
set(php_pear_install_sysconf_dir \"\${CMAKE_INSTALL_FULL_SYSCONFDIR}\")
147-
")
130+
string(CONFIGURE [[
131+
set(php_pear_install_dir "$<PATH:ABSOLUTE_PATH,NORMALIZE,@PHP_PEAR_DIR@,${CMAKE_INSTALL_PREFIX}>")
132+
set(php_pear_install_bin_dir "$<PATH:ABSOLUTE_PATH,NORMALIZE,@CMAKE_INSTALL_BINDIR@,${CMAKE_INSTALL_PREFIX}>")
133+
set(php_pear_current_source_dir "@CMAKE_CURRENT_SOURCE_DIR@")
134+
set(php_pear_current_binary_dir "@CMAKE_CURRENT_BINARY_DIR@")
135+
set(php_pear_php_executable "@PHP_EXECUTABLE@")
136+
set(php_pear_extension_dir "$<PATH:ABSOLUTE_PATH,NORMALIZE,@PHP_EXTENSION_DIR@,${CMAKE_INSTALL_PREFIX}>")
137+
set(PHP_EXT_OPENSSL_SHARED "@PHP_EXT_OPENSSL_SHARED@")
138+
set(PHP_EXT_XML_SHARED "@PHP_EXT_XML_SHARED@")
139+
set(PHP_BINARY_DIR @PHP_BINARY_DIR@)
140+
set(CMAKE_SYSTEM_NAME "@CMAKE_SYSTEM_NAME@")
141+
set(PHP_PEAR_TEMP_DIR "@PHP_PEAR_TEMP_DIR@")
142+
set(php_pear_installed_php_bin "${php_pear_install_bin_dir}/$<TARGET_FILE_NAME:PHP::sapi::cli>")
143+
set(php_pear_php_program_prefix "@PHP_PROGRAM_PREFIX@")
144+
set(php_pear_php_program_suffix "@PHP_PROGRAM_SUFFIX@")
145+
set(php_pear_install_sysconf_dir "$<PATH:ABSOLUTE_PATH,NORMALIZE,@CMAKE_INSTALL_SYSCONFDIR@,${CMAKE_INSTALL_PREFIX}>")
146+
]] code @ONLY)
147+
install(CODE "${code}")
148148
install(SCRIPT cmake/InstallPear.cmake)

cmake/sapi/fpm/CMakeLists.txt

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ include(CheckIncludeFiles)
9191
include(CheckSymbolExists)
9292
include(CMakePushCheckState)
9393
include(FeatureSummary)
94-
include(PHP/Install)
9594
include(PHP/SearchLibraries)
9695
include(PHP/Set)
9796

@@ -575,41 +574,37 @@ endblock()
575574

576575
install(TARGETS php_sapi_fpm RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR})
577576

578-
php_install(CODE "
579-
# Create log and run directories on installation.
580-
file(
581-
MAKE_DIRECTORY
582-
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log\"
583-
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_FULL_RUNSTATEDIR}\"
584-
)
577+
# Create log and run directories on installation.
578+
install(DIRECTORY DESTINATION ${CMAKE_INSTALL_LOCALSTATEDIR}/log)
579+
install(DIRECTORY DESTINATION ${CMAKE_INSTALL_RUNSTATEDIR})
580+
581+
install(CODE "
582+
if(NOT IS_ABSOLUTE \"${CMAKE_INSTALL_SYSCONFDIR}\")
583+
set(sysconf_dir \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_SYSCONFDIR}\")
584+
else()
585+
set(sysconf_dir \"\$ENV{DESTDIR}${CMAKE_INSTALL_SYSCONFDIR}\")
586+
endif()
585587
586-
if(EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_FULL_SYSCONFDIR}/php-fpm.conf\")
588+
if(EXISTS \"\${sysconf_dir}/php-fpm.conf\")
587589
message(
588590
STATUS
589591
\"Skipping PHP FPM defconfig installation. Files already exist.\"
590592
)
591593
else()
592-
message(
593-
STATUS
594-
\"Installing PHP FPM defconfig to \"
595-
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_FULL_SYSCONFDIR}\"
596-
)
594+
message(STATUS \"Installing PHP FPM defconfig to \${sysconf_dir}\")
597595
598-
file(
599-
MAKE_DIRECTORY
600-
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_FULL_SYSCONFDIR}/php-fpm.d\"
601-
)
596+
file(MAKE_DIRECTORY \"\${sysconf_dir}/php-fpm.d\")
602597
603598
file(
604599
COPY_FILE
605600
\"${CMAKE_CURRENT_BINARY_DIR}/php-fpm.conf\"
606-
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_FULL_SYSCONFDIR}/php-fpm.conf.default\"
601+
\"\${sysconf_dir}/php-fpm.conf.default\"
607602
)
608603
609604
file(
610605
COPY_FILE
611606
\"${CMAKE_CURRENT_BINARY_DIR}/www.conf\"
612-
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_FULL_SYSCONFDIR}/php-fpm.d/www.conf.default\"
607+
\"\${sysconf_dir}/php-fpm.d/www.conf.default\"
613608
)
614609
endif()
615610
")

cmake/sapi/phpdbg/CMakeLists.txt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ the `EDITLINE_ROOT` variable.
4848
include(CheckSymbolExists)
4949
include(CMakeDependentOption)
5050
include(FeatureSummary)
51-
include(PHP/Install)
5251

5352
################################################################################
5453
# Configuration options.
@@ -273,13 +272,8 @@ install(
273272
)
274273

275274
# Create log and run directories on installation.
276-
php_install(CODE "
277-
file(
278-
MAKE_DIRECTORY
279-
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log\"
280-
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_FULL_RUNSTATEDIR}\"
281-
)
282-
")
275+
install(DIRECTORY DESTINATION ${CMAKE_INSTALL_LOCALSTATEDIR}/log)
276+
install(DIRECTORY DESTINATION ${CMAKE_INSTALL_RUNSTATEDIR})
283277

284278
# Configure pkg-config phpdbg.pc metadata file and install shared phpdbg module.
285279
if(TARGET php_sapi_phpdbg_shared)

0 commit comments

Comments
 (0)