diff options
author | HampusM <hampus@hampusmat.com> | 2022-02-25 18:05:20 +0100 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2022-06-13 17:56:53 +0200 |
commit | c41090d12f4c7269524124dc0a2b5f9a03a61d93 (patch) | |
tree | 098024012a6a3d6e9d8aea64f4bb3863310d270a /src | |
parent | 7eaf077f1f75194e15968e239ff69892e5e1b648 (diff) |
build: improve CMakeLists
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..04f3e02 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,38 @@ +function(target_link_libraries_system target) + set(libs ${ARGN}) + + foreach(lib ${libs}) + get_target_property(lib_include_dirs ${lib} INTERFACE_INCLUDE_DIRECTORIES) + target_include_directories(${target} SYSTEM PRIVATE ${lib_include_dirs}) + target_link_libraries(${target} ${lib}) + endforeach(lib) +endfunction(target_link_libraries_system) + +file(GLOB SOURCES + game_of_life.cpp + conversion.cpp + randomization.cpp) + +add_executable(${PROJECT_NAME} ${SOURCES}) + +target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17) + +target_compile_options( + ${PROJECT_NAME} + PRIVATE + -Wall -Wextra -Wpedantic -Wshadow + -Wold-style-cast -Wcast-align -Wno-unused + -Wconversion -Wcast-qual -Wctor-dtor-privacy + -Wdisabled-optimization -Wformat=2 -Winit-self + -Wlogical-op -Wmissing-declarations + -Wmissing-include-dirs -Wnoexcept -Woverloaded-virtual + -Wredundant-decls -Wsign-conversion -Wsign-promo + -Wstrict-null-sentinel -Wstrict-overflow=5 -Wswitch-default + -Wundef -Werror + -pedantic -fsanitize=address -fno-exceptions +) + + +target_include_directories(${PROJECT_NAME} PRIVATE .) + +target_link_options(${PROJECT_NAME} PRIVATE -fsanitize=address) |