diff options
| author | Fuwn <[email protected]> | 2022-06-24 04:34:06 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-06-24 04:34:06 -0700 |
| commit | 06a2da38c0bffa43c9e8a26b6d98dc95595dc081 (patch) | |
| tree | 09d1c29f9202b1cb8670fa1f0d6bcf256f8f738c /CMakeLists.txt | |
| parent | docs(license): add gpl-3.0 (diff) | |
| download | cait-06a2da38c0bffa43c9e8a26b6d98dc95595dc081.tar.xz cait-06a2da38c0bffa43c9e8a26b6d98dc95595dc081.zip | |
ci: push source to remote
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..c348f88 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.15) + +project(cait) + +string(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UPPER) + +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_CXX_STANDARD 23) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +option(${PROJECT_NAME_UPPER}_BUILD_BINARY "Build ${PROJECT_NAME} binary" ON) + +if(MSVC) + add_compile_options(/Wall) + + add_compile_definitions(_CRT_SECURE_NO_WARNINGS) +else() + add_compile_options(-Weverything -Wno-c++98-compat) +endif(MSVC) + +file(GLOB LIB${PROJECT_NAME_UPPER}_SOURCES ${PROJECT_SOURCE_DIR}/src/*.cc) + +list(REMOVE_ITEM LIB${PROJECT_NAME_UPPER}_SOURCES ${PROJECT_SOURCE_DIR}/src/${PROJECT_NAME}.cc) + +add_library(lib${PROJECT_NAME} OBJECT ${LIB${PROJECT_NAME_UPPER}_SOURCES}) + +if(${PROJECT_NAME_UPPER}_BUILD_BINARY) + add_executable(${PROJECT_NAME} src/${PROJECT_NAME}.cc) + + target_link_libraries(${PROJECT_NAME} PRIVATE lib${PROJECT_NAME}) + + install(TARGETS ${PROJECT_NAME}) +endif(${PROJECT_NAME_UPPER}_BUILD_BINARY) |