diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2018-06-24 19:32:39 +0200 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2018-06-24 19:32:39 +0200 |
commit | acda434c6eaca0144480fd01a9ee2d3c6718cde9 (patch) | |
tree | 08ca2100eae963a05a99b9f52e1f7a0134ef0ac0 /CMakeLists.txt | |
parent | bf2c0af0eab82138fe32e1f42cc8f3903fea2790 (diff) | |
download | nextpnr-acda434c6eaca0144480fd01a9ee2d3c6718cde9.tar.gz nextpnr-acda434c6eaca0144480fd01a9ee2d3c6718cde9.tar.bz2 nextpnr-acda434c6eaca0144480fd01a9ee2d3c6718cde9.zip |
add sanitizer support
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 20b3e014..428b137a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,11 @@ set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_FLAGS_DEBUG "-Wall -fPIC -ggdb") set(CMAKE_CXX_FLAGS_RELEASE "-Wall -fPIC -O3 -g") set(CMAKE_DEFIN) + +set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake" ${CMAKE_MODULE_PATH}) + +find_package(Sanitizers) + # List of Boost libraries to include set(boost_libs filesystem thread program_options) @@ -134,6 +139,7 @@ foreach (family ${FAMILIES}) add_executable(nextpnr-${family}-test ${${ufamily}_TEST_FILES} ${COMMON_FILES} ${${ufamily}_FILES}) target_link_libraries(nextpnr-${family}-test PRIVATE gtest_main) + add_sanitizers(nextpnr-${family}-test) add_test(${family}-test ${CMAKE_CURRENT_BINARY_DIR}/nextpnr-${family}-test) endif() @@ -156,6 +162,7 @@ foreach (family ${FAMILIES}) target_include_directories(${target} PRIVATE ${family}/ generated/) target_compile_definitions(${target} PRIVATE NEXTPNR_NAMESPACE=nextpnr_${family} ARCH_${ufamily} ARCHNAME=${family}) target_link_libraries(${target} LINK_PUBLIC ${Boost_LIBRARIES}) + add_sanitizers(${target}) if (BUILD_PYTHON) target_link_libraries(${target} LINK_PUBLIC ${PYTHON_LIBRARIES}) endif() @@ -183,3 +190,8 @@ add_custom_target( unset(BUILD_GUI CACHE) unset(BUILD_PYTHON CACHE) unset(BUILD_TESTS CACHE) +unset(SANITIZE_ADDRESS CACHE) +unset(SANITIZE_MEMORY CACHE) +unset(SANITIZE_THREAD CACHE) +unset(SANITIZE_UNDEFINED CACHE) +unset(SANITIZE_LINK_STATIC CACHE)
\ No newline at end of file |