下面的是从https://dev.to/jasny/developing-a-php-extension-in-clion-3oo1
整理的
cmake_minimum_required(VERSION 3.20)
project(learn_ext C)
add_compile_definitions(HAVE_SKELETON)
set(SOURCE_FILES learn_ext learn_ext.c)
execute_process (
? ? ? ? COMMAND /usr/local/phpstudy/soft/php/php-7.4.0/bin/php-config --include-dir
? ? ? ? OUTPUT_VARIABLE PHP_SOURCE
)
string(REGEX REPLACE "\n$" "" PHP_SOURCE "${PHP_SOURCE}")
message("Using source directory: ${PHP_SOURCE}")
include_directories(${PHP_SOURCE})
include_directories(${PHP_SOURCE}/main)
include_directories(${PHP_SOURCE}/Zend)
include_directories(${PHP_SOURCE}/TSRM)
include_directories(${PROJECT_SOURCE_DIR})
add_custom_target(configure
? ? ? ? COMMAND phpize && ./configure
? ? ? ? DEPENDS ${SOURCE_FILES}
? ? ? ? WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
add_library(___ EXCLUDE_FROM_ALL ${SOURCE_FILES})
add_executable(learn_ext
? ? ? ? learn_ext.c
? ? ? ? php_learn_ext.h)
2021年8月11日=================
经过实践,重要的就是引入PHP的include
execute_process (
COMMAND /usr/local/phpstudy/soft/php/php-7.4.0/bin/php-config --include-dir
OUTPUT_VARIABLE PHP_SOURCE
)
string(REGEX REPLACE "\n$" "" PHP_SOURCE "${PHP_SOURCE}")
include_directories(${PHP_SOURCE})
include_directories(${PHP_SOURCE}/main)
include_directories(${PHP_SOURCE}/Zend)
include_directories(${PHP_SOURCE}/TSRM)
|