CMakeLists.txt 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. cmake_minimum_required(VERSION 3.10)
  2. project(IPCDebug LANGUAGES CXX)
  3. set(CMAKE_CXX_STANDARD 23)
  4. set(CMAKE_CXX_EXTENSIONS OFF)
  5. find_package(MPI REQUIRED)
  6. include(FetchContent)
  7. FetchContent_Declare(backwardcpp
  8. GIT_REPOSITORY https://github.com/stelzch/backward-cpp
  9. GIT_TAG master
  10. )
  11. FetchContent_MakeAvailable(backwardcpp)
  12. add_library(ipcdebug STATIC src/ipc_debug.cpp include/ipc_debug.h)
  13. target_include_directories(ipcdebug
  14. PUBLIC
  15. "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
  16. "$<INSTALL_INTERFACE:include>")
  17. target_link_libraries(ipcdebug PUBLIC Backward::Interface MPI::MPI_CXX)
  18. target_compile_options(ipcdebug PRIVATE -ggdb -Wall -Wextra -Werror -Wpedantic)
  19. add_executable(test src/test.cpp)
  20. target_link_libraries(test PRIVATE ipcdebug)
  21. target_compile_options(test PRIVATE -ggdb)
  22. add_executable(mpi_test src/mpi_test.cpp)
  23. target_link_libraries(mpi_test PRIVATE ipcdebug ubsan)
  24. target_compile_options(mpi_test PRIVATE -ggdb -Wall -Wextra -Werror -Wpedantic -fsanitize=undefined)