make repl to have its own cmake file

Signed-off-by: szdytom <szdytom@qq.com>
This commit is contained in:
方而静 2024-06-12 08:40:46 +01:00
parent 71a9ec3e22
commit a7ad73cb27
2 changed files with 14 additions and 11 deletions

View File

@ -25,9 +25,8 @@ if(PK_BUILD_SHARED_LIB)
elseif(PK_BUILD_STATIC_LIB)
add_library(${PROJECT_NAME} STATIC)
else()
add_executable(main src2/main.cpp)
target_include_directories(main PRIVATE ${CMAKE_CURRENT_LIST_DIR}/include)
target_compile_features(main PRIVATE cxx_std_17)
add_executable(main)
add_subdirectory(src2)
# shared linked main
add_library(${PROJECT_NAME} SHARED)
target_link_libraries(main PRIVATE ${PROJECT_NAME} ${CMAKE_DL_LIBS})
@ -64,24 +63,21 @@ target_compile_options(${PROJECT_NAME} PUBLIC
option(PK_USE_CJSON "" OFF)
if(PK_USE_CJSON)
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/3rd/cjson)
add_definitions(-DPK_USE_CJSON)
target_compile_definitions(${PROJECT_NAME} PUBLIC -DPK_USE_CJSON)
target_link_libraries(${PROJECT_NAME} PRIVATE cjson)
endif()
option(PK_ENABLE_OS "" OFF)
if(PK_ENABLE_OS)
add_definitions(-DPK_ENABLE_OS=1)
target_compile_definitions(${PROJECT_NAME} PUBLIC -DPK_ENABLE_OS=1)
endif()
option(PK_ENABLE_PROFILER "" OFF)
if(PK_ENABLE_PROFILER)
add_definitions(-DPK_ENABLE_PROFILER=1)
target_compile_definitions(${PROJECT_NAME} PUBLIC -DPK_ENABLE_PROFILER=1)
endif()
option(PK_NO_EXPORT_C_API "" OFF)
if(PK_NO_EXPORT_C_API)
add_definitions(-DPK_NO_EXPORT_C_API)
endif()
if(PK_USE_CJSON)
target_link_libraries(${PROJECT_NAME} PRIVATE cjson)
target_compile_definitions(${PROJECT_NAME} PUBLIC -DPK_NO_EXPORT_C_API)
endif()

7
src2/CMakeLists.txt Normal file
View File

@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 3.21)
project(pocketpyrepl)
target_sources(main PRIVATE ${CMAKE_CURRENT_LIST_DIR}/main.cpp)
target_include_directories(main PRIVATE ${CMAKE_CURRENT_LIST_DIR}/../include)
target_compile_features(main PRIVATE cxx_std_17)