diff --git a/CMakeLists.txt b/CMakeLists.txt index b8cb0bd5..75367832 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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() diff --git a/src2/CMakeLists.txt b/src2/CMakeLists.txt new file mode 100644 index 00000000..b71c1ac0 --- /dev/null +++ b/src2/CMakeLists.txt @@ -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)