CMakeLists.txt 732 B

123456789101112131415161718192021222324252627282930
  1. # option(DISTRIBUTED "Use MPI" OFF)
  2. # option(MULTITHREADED "Use OpenMP" OFF)
  3. if (DISTRIBUTED)
  4. find_package(MPI REQUIRED)
  5. include_directories(${MPI_INCLUDE_PATH})
  6. elseif (MULTITHREADED)
  7. find_package(OpenMP REQUIRED)
  8. endif()
  9. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3")
  10. add_subdirectory(src)
  11. message("Tangle Source: ${TANGLE_SRC}")
  12. add_library(libtangle SHARED ${TANGLE_SRC})
  13. # Header files & linking
  14. target_include_directories(libtangle PRIVATE src PUBLIC include)
  15. if (DISTRIBUTED)
  16. target_link_libraries(libtangle ${MPI_C_LIBRARIES})
  17. add_compile_definitions(_DISTRIBUTED)
  18. elseif (MULTITHREADED)
  19. target_link_libraries(libtangle PUBLIC OpenMP::OpenMP_C)
  20. add_compile_definitions(_MULTITHREADED)
  21. endif()