From: dota17 Date: Sat, 29 Feb 2020 07:32:42 +0000 (+0800) Subject: modify json-c default build type, and fix up the assert() errors in testcase X-Git-Tag: json-c-0.14-20200419~50^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2d44f865c3bc49a3ae8552d9445e71ff5945371d;p=json-c modify json-c default build type, and fix up the assert() errors in testcase --- 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