Skip to content

Commit 506d5b7

Browse files
committed
Simplify Zend/zend_vm_gen.php usage and improve PEAR warnings and errors
1 parent 74c8215 commit 506d5b7

File tree

2 files changed

+31
-35
lines changed

2 files changed

+31
-35
lines changed

cmake/Zend/CMakeLists.txt

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -455,35 +455,26 @@ endif()
455455
# Create files and set installation.
456456
################################################################################
457457

458+
# Run the Zend/zend_vm_gen.php script.
459+
#
458460
# On 32-bit targets the zend_vm_gen.php script outputs deprecation warnings. As
459461
# 32-bit targets are not considered development oriented environments, where the
460462
# files need to be regenerated, executing this script is skipped.
461463
# See: https://github.com/php/php-src/issues/15899
462-
if(NOT CMAKE_SIZEOF_VOID_P EQUAL 4)
463-
if(PHPSystem_EXECUTABLE)
464-
set(PHP_EXECUTABLE ${PHPSystem_EXECUTABLE})
465-
elseif(NOT CMAKE_CROSSCOMPILING)
466-
set(PHP_EXECUTABLE "$<TARGET_FILE:php_cli>")
467-
elseif(CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR)
468-
set(PHP_EXECUTABLE "${CMAKE_CROSSCOMPILING_EMULATOR};$<TARGET_FILE:php_cli>")
469-
endif()
470-
471-
if(PHP_EXECUTABLE)
472-
# Run the Zend/zend_vm_gen.php script.
473-
add_custom_command(
474-
OUTPUT zend_vm
475-
COMMAND ${PHP_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/zend_vm_gen.php
476-
DEPENDS
477-
php_cli
478-
${CMAKE_CURRENT_SOURCE_DIR}/zend_vm_execute.skl
479-
COMMENT "[Zend] Regenerating zend_vm_execute.h and zend_vm_opcodes.{h,c}"
480-
VERBATIM
481-
)
482-
483-
add_custom_target(zend_generate_vm ALL DEPENDS zend_vm)
484-
485-
set_property(SOURCE zend_vm PROPERTY SYMBOLIC TRUE)
486-
endif()
464+
if(PHPSystem_EXECUTABLE AND NOT CMAKE_SIZEOF_VOID_P EQUAL 4)
465+
add_custom_command(
466+
OUTPUT
467+
${CMAKE_CURRENT_SOURCE_DIR}/zend_vm_execute.h
468+
${CMAKE_CURRENT_SOURCE_DIR}/zend_vm_opcodes.h
469+
${CMAKE_CURRENT_SOURCE_DIR}/zend_vm_opcodes.c
470+
COMMAND ${PHPSystem_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/zend_vm_gen.php
471+
DEPENDS
472+
${CMAKE_CURRENT_SOURCE_DIR}/zend_vm_execute.skl
473+
${CMAKE_CURRENT_SOURCE_DIR}/zend_vm_gen.php
474+
${CMAKE_CURRENT_SOURCE_DIR}/zend_vm_def.h
475+
COMMENT "[Zend] Regenerating zend_vm_execute.h and zend_vm_opcodes.{h,c}"
476+
VERBATIM
477+
)
487478
endif()
488479

489480
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")

cmake/pear/CMakeLists.txt

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,22 @@ else()
5757
message(CHECK_PASS "yes")
5858
endif()
5959

60-
message(DEPRECATION "The PHP_PEAR option is deprecated.")
61-
62-
if(NOT SAPI_CLI)
63-
message(
64-
FATAL_ERROR
65-
"The PHP_PEAR option requires CLI SAPI. Please set SAPI_CLI to 'ON'."
66-
)
67-
endif()
60+
message(
61+
DEPRECATION
62+
"The 'PHP_PEAR' option is deprecated and will be removed in future PHP "
63+
"versions. PEAR can also be installed manually from the pear.php.net website."
64+
)
6865

6966
# Check PEAR dependencies.
7067
block()
68+
if(NOT SAPI_CLI)
69+
message(
70+
FATAL_ERROR
71+
"The 'PHP_PEAR' option requires PHP CLI SAPI. Please, set 'SAPI_CLI' to "
72+
"'ON'."
73+
)
74+
endif()
75+
7176
foreach(
7277
extension
7378
openssl # For pecl command to download packages over https
@@ -77,8 +82,8 @@ block()
7782
if(NOT EXT_${extensionUpper})
7883
message(
7984
FATAL_ERROR
80-
"PEAR requires PHP extension ${extension}. Set EXT_${extensionUpper} "
81-
"to 'ON'."
85+
"The 'PHP_PEAR' option requires PHP extension ${extension}. Please, "
86+
"set 'EXT_${extensionUpper}' to 'ON'."
8287
)
8388
endif()
8489
endforeach()

0 commit comments

Comments
 (0)