CMakeLists.txt 1.3 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(RAPIDJSON_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/rapidjson/include/" CACHE STRING "Path to RapidJSON header library")
  11. include_directories(SYSTEM "${RAPIDJSON_INCLUDE_DIRS}")
  12. set(YAML_CPP_BUILD_TOOLS OFF CACHE BOOL "YAML: Enable testing and parse tools")
  13. set(YAML_CPP_BUILD_CONTRIB OFF CACHE BOOL "YAML: Enable contrib stuff in library")
  14. add_subdirectory(thirdparty/yaml-cpp)
  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(document)
  22. add_subdirectory(filters)
  23. add_subdirectory(time)
  24. add_subdirectory(renderers)
  25. export(
  26. EXPORT rainynite_core
  27. FILE "${CMAKE_CURRENT_BINARY_DIR}/rainynite_core-config.cmake"
  28. )
  29. install(
  30. EXPORT rainynite_core
  31. FILE "rainynite_core-config.cmake"
  32. DESTINATION "lib/cmake/rainynite_core"
  33. )
  34. install(
  35. DIRECTORY include/
  36. DESTINATION include
  37. )