Skip to content

Commit e0cddbb

Browse files
committed
Link PHP::sapi as a build artifact of the current build
This simplifies the upcoming installation using config file and exports. The SAPIs are also synced for upcoming PRs.
1 parent 9ca639e commit e0cddbb

File tree

8 files changed

+48
-42
lines changed

8 files changed

+48
-42
lines changed

cmake/sapi/apache2handler/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ set_package_properties(
7878
target_link_libraries(
7979
php_sapi_apache2handler
8080
PRIVATE
81-
PHP::sapi
81+
$<BUILD_INTERFACE:PHP::sapi>
8282
Apache::Apache
8383
)
8484

cmake/sapi/cgi/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ target_compile_definitions(php_sapi_cgi PRIVATE ZEND_ENABLE_STATIC_TSRMLS_CACHE)
4141
target_link_libraries(
4242
php_sapi_cgi
4343
PRIVATE
44-
PHP::sapi
44+
$<BUILD_INTERFACE:PHP::sapi>
4545
$<$<PLATFORM_ID:Windows>:ws2_32;kernel32;advapi32>
4646
)
4747

@@ -55,8 +55,7 @@ set_target_properties(
5555
php_sapi_cgi
5656
PROPERTIES
5757
OUTPUT_NAME ${PHP_PROGRAM_PREFIX}php-cgi${PHP_PROGRAM_SUFFIX}
58-
# TODO: Check if there's a better solution here:
59-
ENABLE_EXPORTS TRUE
58+
ENABLE_EXPORTS TRUE # TODO: Check if there's a better solution.
6059
PHP_CLI TRUE
6160
)
6261

cmake/sapi/cli/CMakeLists.txt

Lines changed: 35 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ if(NOT PHP_SAPI_CLI)
5252
return()
5353
endif()
5454

55+
################################################################################
56+
# Configuration checks.
57+
################################################################################
58+
5559
check_symbol_exists(setproctitle "unistd.h;stdlib.h" HAVE_SETPROCTITLE)
5660
check_include_file(sys/pstat.h HAVE_SYS_PSTAT_H)
5761

@@ -74,6 +78,10 @@ else()
7478
message(CHECK_FAIL "no")
7579
endif()
7680

81+
################################################################################
82+
# The cli SAPI.
83+
################################################################################
84+
7785
add_executable(php_sapi_cli)
7886
add_executable(PHP::sapi::cli ALIAS php_sapi_cli)
7987

@@ -102,7 +110,7 @@ target_compile_definitions(
102110
target_link_libraries(
103111
php_sapi_cli
104112
PRIVATE
105-
PHP::sapi
113+
$<BUILD_INTERFACE:PHP::sapi>
106114
$<$<PLATFORM_ID:Windows>:ws2_32;shell32>
107115
)
108116

@@ -116,8 +124,7 @@ set_target_properties(
116124
php_sapi_cli
117125
PROPERTIES
118126
OUTPUT_NAME ${PHP_PROGRAM_PREFIX}php${PHP_PROGRAM_SUFFIX}
119-
# TODO: Check if there's a better solution here:
120-
ENABLE_EXPORTS TRUE
127+
ENABLE_EXPORTS TRUE # TODO: Check if there's a better solution.
121128
PHP_CLI TRUE
122129
)
123130

@@ -130,6 +137,30 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
130137
)
131138
endif()
132139

140+
# Man documentation.
141+
block()
142+
set(program_prefix "${PHP_PROGRAM_PREFIX}")
143+
configure_file(php.1.in php.1 @ONLY)
144+
endblock()
145+
146+
install(
147+
TARGETS php_sapi_cli
148+
RUNTIME
149+
DESTINATION ${CMAKE_INSTALL_BINDIR}
150+
FILE_SET HEADERS
151+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PHP_INCLUDE_PREFIX}/sapi/cli
152+
)
153+
154+
install(
155+
FILES ${CMAKE_CURRENT_BINARY_DIR}/php.1
156+
RENAME ${PHP_PROGRAM_PREFIX}php${PHP_PROGRAM_SUFFIX}.1
157+
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
158+
)
159+
160+
################################################################################
161+
# The cli SAPI without console on Windows.
162+
################################################################################
163+
133164
if(PHP_SAPI_CLI_WIN_NO_CONSOLE)
134165
add_executable(php_sapi_cli_win)
135166
add_executable(PHP::sapi::cli_win ALIAS php_sapi_cli_win)
@@ -158,7 +189,7 @@ if(PHP_SAPI_CLI_WIN_NO_CONSOLE)
158189
target_link_libraries(
159190
php_sapi_cli_win
160191
PRIVATE
161-
PHP::sapi
192+
$<BUILD_INTERFACE:PHP::sapi>
162193
shell32
163194
)
164195

@@ -169,24 +200,4 @@ if(PHP_SAPI_CLI_WIN_NO_CONSOLE)
169200
)
170201
endif()
171202

172-
# Man documentation.
173-
block()
174-
set(program_prefix "${PHP_PROGRAM_PREFIX}")
175-
configure_file(php.1.in php.1 @ONLY)
176-
endblock()
177-
178-
install(
179-
TARGETS php_sapi_cli
180-
RUNTIME
181-
DESTINATION ${CMAKE_INSTALL_BINDIR}
182-
FILE_SET HEADERS
183-
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PHP_INCLUDE_PREFIX}/sapi/cli
184-
)
185-
186-
install(
187-
FILES ${CMAKE_CURRENT_BINARY_DIR}/php.1
188-
RENAME ${PHP_PROGRAM_PREFIX}php${PHP_PROGRAM_SUFFIX}.1
189-
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
190-
)
191-
192203
configure_file(cmake/config.h.in config.h)

cmake/sapi/embed/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,7 @@ set_target_properties(
5656
php_sapi_embed
5757
PROPERTIES
5858
OUTPUT_NAME libphp
59-
# TODO: Check if there's a better solution here:
60-
ENABLE_EXPORTS TRUE
59+
ENABLE_EXPORTS TRUE # TODO: Check if there's a better solution.
6160
PHP_CLI TRUE
6261
)
6362

cmake/sapi/fpm/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -235,15 +235,14 @@ target_compile_definitions(php_sapi_fpm PRIVATE ZEND_ENABLE_STATIC_TSRMLS_CACHE)
235235
target_link_libraries(
236236
php_sapi_fpm
237237
PRIVATE
238-
PHP::sapi
238+
$<BUILD_INTERFACE:PHP::sapi>
239239
)
240240

241241
set_target_properties(
242242
php_sapi_fpm
243243
PROPERTIES
244244
OUTPUT_NAME ${PHP_PROGRAM_PREFIX}php-fpm${PHP_PROGRAM_SUFFIX}
245-
# TODO: Check if there's a better solution here:
246-
ENABLE_EXPORTS TRUE
245+
ENABLE_EXPORTS TRUE # TODO: Check if there's a better solution.
247246
)
248247

249248
################################################################################

cmake/sapi/fuzzer/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ set_target_properties(
139139
target_link_libraries(
140140
php_sapi_fuzzer
141141
PRIVATE
142-
PHP::sapi
142+
$<BUILD_INTERFACE:PHP::sapi>
143143
)
144144

145145
install(TARGETS php_sapi_fuzzer RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

cmake/sapi/litespeed/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,14 @@ target_sourceS(
4646
target_link_libraries(
4747
php_sapi_litespeed
4848
PRIVATE
49-
PHP::sapi
49+
$<BUILD_INTERFACE:PHP::sapi>
5050
)
5151

5252
set_target_properties(
5353
php_sapi_litespeed
5454
PROPERTIES
5555
OUTPUT_NAME ${PHP_PROGRAM_PREFIX}lsphp${PHP_PROGRAM_SUFFIX}
56-
# TODO: Check if there's a better solution here.
57-
ENABLE_EXPORTS TRUE
56+
ENABLE_EXPORTS TRUE # TODO: Check if there's a better solution.
5857
)
5958

6059
install(

cmake/sapi/phpdbg/CMakeLists.txt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ target_compile_definitions(
138138
target_link_libraries(
139139
php_sapi_phpdbg
140140
PRIVATE
141-
PHP::sapi
141+
$<BUILD_INTERFACE:PHP::sapi>
142142
$<$<PLATFORM_ID:Windows>:ws2_32;user32>
143143
)
144144

@@ -152,8 +152,7 @@ set_target_properties(
152152
php_sapi_phpdbg
153153
PROPERTIES
154154
OUTPUT_NAME ${PHP_PROGRAM_PREFIX}phpdbg${PHP_PROGRAM_SUFFIX}
155-
# TODO: Check if there's a better solution here:
156-
ENABLE_EXPORTS TRUE
155+
ENABLE_EXPORTS TRUE # TODO: Check if there's a better solution.
157156
PHP_CLI TRUE
158157
)
159158

@@ -216,6 +215,7 @@ add_feature_info(
216215
################################################################################
217216

218217
# TODO: Should readline support be also enabled like in the executable?
218+
# TODO: fix this better in the future (building with -fPIC etc).
219219
if(PHP_SAPI_PHPDBG_SHARED)
220220
add_library(php_sapi_phpdbg_shared SHARED)
221221
add_library(PHP::sapi::phpdbg_shared ALIAS php_sapi_phpdbg_shared)
@@ -235,8 +235,7 @@ if(PHP_SAPI_PHPDBG_SHARED)
235235
target_link_libraries(
236236
php_sapi_phpdbg_shared
237237
PRIVATE
238-
# TODO: fix this better in the future (building with -fPIC etc).
239-
PHP::sapi
238+
$<BUILD_INTERFACE:PHP::sapi>
240239
$<$<PLATFORM_ID:Windows>:ws2_32;user32>
241240
)
242241
endif()

0 commit comments

Comments
 (0)