diff --git a/CMakeLists.txt b/CMakeLists.txt index 97d5d09..4697bc4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,15 +61,22 @@ set( CMAKE_CXX_STANDARD_REQUIRED ON ) set( CMAKE_CXX_EXTENSIONS OFF ) # c++ flags -set( CMAKE_CXX_FLAGS_DEBUG "-O0 -g" ) -set( CMAKE_CXX_FLAGS_RELEASE "-O3" ) -set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os" ) +add_compile_options( + "$<$:-Werror;-Wall;-Wconversion;-Wno-sign-conversion;-Wextra>" + "$<$:/W3;-D_CRT_SECURE_NO_WARNINGS=1>" -if (CMAKE_CXX_COMPILER_ID MATCHES "GNU") - set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wconversion -Wno-sign-conversion -Wextra" ) -elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - add_definitions( "-D_CRT_SECURE_NO_WARNINGS=1" ) -endif() + # Debug + "$<$:$<$:-O0;-g>>" + "$<$:$<$:/Od;/Zi>>" + + # Release + "$<$:$<$:-O3>>" + "$<$:$<$:/O2>>" + + # MinSizeRel + "$<$:$<$:-Os>>" + "$<$:$<$:/O1>>" +) # Project config file configure_file(config.hpp.in "${PROJECT_BINARY_DIR}/config.hpp" @ONLY)