Skip to content

Commit 69959ac

Browse files
committed
Add installation components
These can be installed separately using: cmake --install <dir> --component <component>
1 parent f3d56ba commit 69959ac

File tree

17 files changed

+103
-22
lines changed

17 files changed

+103
-22
lines changed

cmake/Zend/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,7 @@ install(
390390
TARGETS php_zend
391391
FILE_SET tsrm
392392
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PHP_INCLUDE_PREFIX}/TSRM
393+
COMPONENT php-development
393394
)
394395

395396
################################################################################
@@ -535,6 +536,8 @@ install(
535536
ARCHIVE EXCLUDE_FROM_ALL
536537
FILE_SET HEADERS
537538
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PHP_INCLUDE_PREFIX}/Zend
539+
COMPONENT php-development
538540
FILE_SET generated
539541
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PHP_INCLUDE_PREFIX}/Zend
542+
COMPONENT php-development
540543
)

cmake/cmake/Extensions.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,15 +424,18 @@ function(php_extensions_postconfigure extension)
424424
${set}
425425
DESTINATION
426426
${CMAKE_INSTALL_INCLUDEDIR}/${PHP_INCLUDE_PREFIX}/ext/${extension}
427+
COMPONENT php-development
427428
)
428429
endforeach()
429430
install(
430431
TARGETS php_ext_${extension}
431432
ARCHIVE EXCLUDE_FROM_ALL
432433
RUNTIME
433434
DESTINATION ${PHP_EXTENSION_DIR}
435+
COMPONENT php
434436
LIBRARY
435437
DESTINATION ${PHP_EXTENSION_DIR}
438+
COMPONENT php
436439
${file_sets}
437440
)
438441

cmake/cmake/modules/PHP/PkgConfig.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,5 +212,5 @@ function(php_pkgconfig_generate_pc)
212212
configure_file("@template@" "@output@" @ONLY)
213213
endblock()
214214
]] code @ONLY)
215-
install(CODE "${code}")
215+
install(CODE "${code}" COMPONENT php-development)
216216
endfunction()

cmake/ext/phar/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,14 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
110110
FILES ${CMAKE_CURRENT_BINARY_DIR}/phar.1
111111
RENAME ${PHP_PROGRAM_PREFIX}phar${PHP_PROGRAM_SUFFIX}.1
112112
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
113+
COMPONENT php-doc
113114
)
114115

115116
install(
116117
FILES ${CMAKE_CURRENT_BINARY_DIR}/phar.phar.1
117118
RENAME ${PHP_PROGRAM_PREFIX}phar${PHP_PROGRAM_SUFFIX}.phar.1
118119
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
120+
COMPONENT php-doc
119121
)
120122
endif()
121123

@@ -243,6 +245,7 @@ set_property(SOURCE php_ext_phar_generated_phar PROPERTY SYMBOLIC TRUE)
243245
# Install phar.phar file to destination. Here a duplicate phar.phar generation
244246
# step is used to generate it to a destination directory because of the install
245247
# prefix used in shebang (when using 'cmake --install --prefix ...').
248+
install(DIRECTORY DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT php)
246249
string(CONFIGURE [[
247250
execute_process(
248251
COMMAND
@@ -291,4 +294,4 @@ string(CONFIGURE [[
291294
SYMBOLIC
292295
)
293296
]] code @ONLY)
294-
install(CODE "${code}")
297+
install(CODE "${code}" COMPONENT php)

cmake/ext/skeleton/CMakeLists.txt.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ install(
118118
ARCHIVE EXCLUDE_FROM_ALL
119119
FILE_SET HEADERS
120120
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PHP_INCLUDE_PREFIX}/ext/%EXTNAME%
121+
COMPONENT php-development
121122
)
122123

123124
set(PHP_EXTENSION_%EXTNAMECAPS% TRUE)

cmake/main/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ function(_php_main_configure_build_defs)
325325
)
326326
endblock()
327327
]] code @ONLY)
328-
install(CODE "${code}")
328+
install(CODE "${code}" COMPONENT php-development)
329329
endfunction()
330330

331331
# Configure main configuration header (php_config.h, config.w32.h).
@@ -407,7 +407,9 @@ function(_php_main_create_files)
407407
ARCHIVE EXCLUDE_FROM_ALL
408408
FILE_SET HEADERS
409409
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PHP_INCLUDE_PREFIX}/main
410+
COMPONENT php-development
410411
FILE_SET generated
411412
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PHP_INCLUDE_PREFIX}/main
413+
COMPONENT php-development
412414
)
413415
endfunction()

cmake/pear/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,5 +144,5 @@ string(CONFIGURE [[
144144
set(php_pear_php_program_suffix "@PHP_PROGRAM_SUFFIX@")
145145
set(php_pear_install_sysconf_dir "$<PATH:ABSOLUTE_PATH,NORMALIZE,@CMAKE_INSTALL_SYSCONFDIR@,${CMAKE_INSTALL_PREFIX}>")
146146
]] code @ONLY)
147-
install(CODE "${code}")
148-
install(SCRIPT cmake/InstallPear.cmake)
147+
install(CODE "${code}" COMPONENT php-pear)
148+
install(SCRIPT cmake/InstallPear.cmake COMPONENT php-pear)

cmake/sapi/apache2handler/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,8 @@ install(
147147
TARGETS php_sapi_apache2handler
148148
LIBRARY
149149
DESTINATION ${Apache_LIBEXECDIR}
150+
COMPONENT php-sapi-apache2handler
150151
RUNTIME
151152
DESTINATION ${Apache_LIBEXECDIR}
153+
COMPONENT php-sapi-apache2handler
152154
)

cmake/sapi/cgi/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ install(
7878
TARGETS php_sapi_cgi
7979
RUNTIME
8080
DESTINATION ${CMAKE_INSTALL_BINDIR}
81+
COMPONENT php-sapi-cgi
8182
)
8283

8384
################################################################################
@@ -90,6 +91,7 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
9091
FILES ${CMAKE_CURRENT_BINARY_DIR}/php-cgi.1
9192
RENAME ${PHP_PROGRAM_PREFIX}php-cgi${PHP_PROGRAM_SUFFIX}.1
9293
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
94+
COMPONENT php-doc
9395
)
9496
endif()
9597

cmake/sapi/cli/CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,10 @@ install(
155155
TARGETS php_sapi_cli
156156
RUNTIME
157157
DESTINATION ${CMAKE_INSTALL_BINDIR}
158+
COMPONENT php-sapi-cli
158159
FILE_SET HEADERS
159160
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PHP_INCLUDE_PREFIX}/sapi/cli
161+
COMPONENT php-development
160162
)
161163

162164
################################################################################
@@ -198,6 +200,13 @@ if(PHP_SAPI_CLI_WIN_NO_CONSOLE)
198200
if(MSVC)
199201
target_link_options(php_sapi_cli_win PRIVATE /stack:67108864)
200202
endif()
203+
204+
install(
205+
TARGETS php_sapi_cli_win
206+
RUNTIME
207+
DESTINATION ${CMAKE_INSTALL_BINDIR}
208+
COMPONENT php-sapi-cli
209+
)
201210
endif()
202211

203212
################################################################################
@@ -212,6 +221,7 @@ block()
212221
FILES ${CMAKE_CURRENT_BINARY_DIR}/php.1
213222
RENAME ${PHP_PROGRAM_PREFIX}php${PHP_PROGRAM_SUFFIX}.1
214223
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
224+
COMPONENT php-doc
215225
)
216226
endif()
217227
endblock()

0 commit comments

Comments
 (0)