CMakeLists.txt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. cmake_minimum_required(VERSION 3.8)
  2. project(rainynite-core)
  3. set(CMAKE_CXX_STANDARD 17)
  4. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  5. include(FindPkgConfig)
  6. pkg_check_modules(LIB2GEOM REQUIRED 2geom)
  7. find_package(Boost REQUIRED COMPONENTS filesystem system)
  8. find_package(FMT REQUIRED)
  9. set(CATCH_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/catch/" CACHE STRING "Path to Catch header library")
  10. set(YAML_CPP_BUILD_TOOLS OFF CACHE BOOL "YAML: Enable testing and parse tools")
  11. set(YAML_CPP_BUILD_CONTRIB OFF CACHE BOOL "YAML: Enable contrib stuff in library")
  12. set(BUILD_SHARED_LIBS ON)
  13. add_subdirectory(thirdparty/yaml-cpp)
  14. include_directories(thirdparty/yaml-cpp/include)
  15. find_package(geom_helpers REQUIRED)
  16. find_package(morphing REQUIRED)
  17. include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
  18. enable_testing()
  19. add_subdirectory(tests)
  20. add_subdirectory(log)
  21. add_subdirectory(os)
  22. add_subdirectory(document)
  23. add_subdirectory(filters)
  24. add_subdirectory(time)
  25. add_subdirectory(renderers)
  26. export(
  27. EXPORT rainynite_core
  28. FILE "${CMAKE_CURRENT_BINARY_DIR}/rainynite_core-config.cmake"
  29. )
  30. install(
  31. EXPORT rainynite_core
  32. FILE "rainynite_core-config.cmake"
  33. DESTINATION "lib/cmake/rainynite_core"
  34. )
  35. install(
  36. DIRECTORY include/
  37. DESTINATION include
  38. )