aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt18
1 files changed, 13 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 60b1726c..36ba269f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -239,11 +239,17 @@ endif()
# Platform checks.
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
- set(NNG_WARN_FLAGS "-Wall -Wextra")
+ set(NNG_WARN_FLAGS "-Wall -Wextra -fno-omit-frame-pointer")
elseif (CMAKE_C_COMPILER_ID STREQUAL "Clang")
- set(NNG_WARN_FLAGS "-Wall -Wextra")
+ set(NNG_WARN_FLAGS "-Wall -Wextra -fno-omit-frame-pointer")
elseif (CMAKE_C_COMPILER_ID STREQUAL "AppleClang")
- set(NNG_WARN_FLAGS "-Wall -Wextra")
+ set(NNG_WARN_FLAGS "-Wall -Wextra -fno-omit-frame-pointer")
+endif()
+
+include (CheckSanitizer)
+CheckSanitizer()
+if (NOT NNG_SANITIZER STREQUAL "none")
+ set (NNG_SANITIZER_FLAGS "-fsanitize=${NNG_SANITIZER}")
endif()
if (NNG_ENABLE_COVERAGE)
@@ -261,8 +267,8 @@ if (NNG_ENABLE_COVERAGE)
endif()
endif()
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${NNG_WARN_FLAGS} ${NNG_COVERAGE_FLAGS}")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${NNG_WARN_FLAGS} ${NNG_COVERAGE_FLAGS}")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${NNG_WARN_FLAGS} ${NNG_COVERAGE_FLAGS} ${NNG_SANITIZER_FLAGS}")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${NNG_WARN_FLAGS} ${NNG_COVERAGE_FLAGS} ${NNG_SANITIZER_FLAGS}")
TEST_BIG_ENDIAN(NNG_BIG_ENDIAN)
if (NNG_BIG_ENDIAN)
@@ -280,6 +286,8 @@ if (NOT WIN32 AND NOT CYGWIN)
endif()
endif()
+
+
find_package (Threads REQUIRED)
if (CMAKE_SYSTEM_NAME MATCHES "Linux")