diff --git a/CMakeLists.txt b/CMakeLists.txt index c7b5195..8e4fb2a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,11 @@ if(POLICY CMP0054) cmake_policy(SET CMP0054 NEW) endif() +# set default build type if not specified by user +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE debug) +endif() + # Include file check macros honor CMAKE_REQUIRED_LIBRARIES # i.e. the check_include_file() calls will include -lm when checking. if(POLICY CMP0075) @@ -238,6 +243,9 @@ elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4701") endif() +set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0") +set(CMAKE_C_FLAGS_Release "${CMAKE_C_FLAGS_Release} -O2") + if (NOT ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")) check_c_source_compiles( [=[ diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 15e3258..d452017 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -52,8 +52,3 @@ target_link_libraries( endforeach(TESTNAME) -# Make sure NDEBUG is always undefined for tests -if (UNIX OR MINGW OR CYGWIN) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -UNDEBUG") -endif() - diff --git a/tests/test_deep_copy.c b/tests/test_deep_copy.c index baa4e09..645b0ce 100644 --- a/tests/test_deep_copy.c +++ b/tests/test_deep_copy.c @@ -2,7 +2,12 @@ #include #include #include +#ifdef NDEBUG +#undef NDEBUG #include +#else +#include +#endif #include #include diff --git a/tests/test_json_pointer.c b/tests/test_json_pointer.c index 7891e21..9d4a54a 100644 --- a/tests/test_json_pointer.c +++ b/tests/test_json_pointer.c @@ -1,6 +1,11 @@ #include "strerror_override.h" #include "strerror_override_private.h" +#ifdef NDEBUG +#undef NDEBUG #include +#else +#include +#endif #include #include