|
|
@@ -4,38 +4,29 @@ project(pocketpy)
|
|
|
|
|
|
set(CMAKE_C_STANDARD 11)
|
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
|
-set(CMAKE_CXX_STANDARD 17)
|
|
|
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
|
if(MSVC)
|
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /utf-8 /jumptablerdata /GS-")
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /utf-8 /jumptablerdata /GS-")
|
|
|
add_compile_options(/wd4267 /wd4244)
|
|
|
|
|
|
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Ox")
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Ox")
|
|
|
endif()
|
|
|
else()
|
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -frtti")
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
|
|
|
|
|
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
|
|
|
endif()
|
|
|
|
|
|
# disable -Wshorten-64-to-32 for apple
|
|
|
if(APPLE)
|
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-shorten-64-to-32")
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-shorten-64-to-32")
|
|
|
endif()
|
|
|
endif()
|
|
|
|
|
|
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
|
|
|
-file(GLOB_RECURSE POCKETPY_SRC_CPP ${CMAKE_CURRENT_LIST_DIR}/src/*.cpp)
|
|
|
-file(GLOB_RECURSE POCKETPY_SRC_C ${CMAKE_CURRENT_LIST_DIR}/src/*.c)
|
|
|
-set(POCKETPY_SRC ${POCKETPY_SRC_CPP} ${POCKETPY_SRC_C})
|
|
|
+file(GLOB_RECURSE POCKETPY_SRC ${CMAKE_CURRENT_LIST_DIR}/src/*.c)
|
|
|
|
|
|
option(PK_USE_CJSON "" OFF)
|
|
|
if(PK_USE_CJSON)
|
|
|
@@ -72,10 +63,8 @@ if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
|
|
|
option(BUILD_TESTING_SANITIZE "Build the source with sanitizers" OFF)
|
|
|
if (BUILD_TESTING_SANITIZE)
|
|
|
if (MSVC)
|
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fsanitize=address /fno-omit-frame-pointer")
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fsanitize=address /fno-omit-frame-pointer")
|
|
|
else()
|
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address,leak,undefined")
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address,leak,undefined")
|
|
|
endif()
|
|
|
endif()
|
|
|
@@ -95,16 +84,10 @@ elseif(PK_BUILD_STATIC_LIB)
|
|
|
add_library(${PROJECT_NAME} STATIC ${POCKETPY_SRC})
|
|
|
else()
|
|
|
set(PROJECT_EXE_NAME main)
|
|
|
- add_executable(${PROJECT_EXE_NAME} src2/main.cpp)
|
|
|
- if (BUILD_TESTING_SANITIZE)
|
|
|
- # static linked main, for sanitizing purpose
|
|
|
- add_library(${PROJECT_NAME} STATIC ${POCKETPY_SRC})
|
|
|
- target_link_libraries(${PROJECT_EXE_NAME} ${PROJECT_NAME})
|
|
|
- else()
|
|
|
- # shared linked main, used by default, for CI and others
|
|
|
- add_library(${PROJECT_NAME} SHARED ${POCKETPY_SRC})
|
|
|
- target_link_libraries(${PROJECT_EXE_NAME} ${PROJECT_NAME} ${CMAKE_DL_LIBS})
|
|
|
- endif()
|
|
|
+ add_executable(${PROJECT_EXE_NAME} src2/main.c)
|
|
|
+ # static linked main
|
|
|
+ add_library(${PROJECT_NAME} STATIC ${POCKETPY_SRC})
|
|
|
+ target_link_libraries(${PROJECT_EXE_NAME} ${PROJECT_NAME})
|
|
|
endif()
|
|
|
|
|
|
if(PK_USE_CJSON)
|