CMakeLists.txt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. FIND_PACKAGE (GTest REQUIRED)
  2. FIND_PACKAGE (ZLIB REQUIRED)
  3. FIND_PACKAGE (Boost REQUIRED COMPONENTS system filesystem)
  4. INCLUDE_DIRECTORIES (
  5. ${GTEST_INCLUDE_DIRS}
  6. ${ZLIB_INCLUDE_DIRS}
  7. ${Boost_INCLUDE_DIRS}
  8. )
  9. LIST (APPEND check_PROGRAMS
  10. regression_runner.cpp
  11. )
  12. LINK_DIRECTORIES (
  13. ${Boost_LIBRARY_DIRS}
  14. )
  15. FOREACH (source_file ${check_PROGRAMS})
  16. GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE)
  17. ADD_EXECUTABLE (
  18. ${source_file_we}
  19. ${source_file}
  20. )
  21. TARGET_LINK_LIBRARIES (${source_file_we}
  22. msgpackc
  23. ${GTEST_BOTH_LIBRARIES}
  24. ${ZLIB_LIBRARIES}
  25. ${CMAKE_THREAD_LIBS_INIT}
  26. ${Boost_LIBRARIES}
  27. )
  28. ADD_TEST (${source_file_we} ${source_file_we})
  29. IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
  30. SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Wno-mismatched-tags -g")
  31. IF ("${MSGPACK_SAN}" STREQUAL "ASAN")
  32. SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fsanitize=address")
  33. SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer -fsanitize=address")
  34. ELSEIF ("${MSGPACK_SAN}" STREQUAL "UBSAN")
  35. SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=undefined")
  36. SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined")
  37. ENDIF()
  38. ENDIF()
  39. ENDFOREACH ()