CMakeLists.txt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. option(RN_CORE_TESTS "Build RainyNite core tests" ON)
  19. if (RN_CORE_TESTS)
  20. enable_testing()
  21. add_subdirectory(tests)
  22. endif()
  23. add_subdirectory(log)
  24. add_subdirectory(os)
  25. add_subdirectory(document)
  26. add_subdirectory(filters)
  27. add_subdirectory(time)
  28. add_subdirectory(renderers)
  29. export(
  30. EXPORT rainynite_core
  31. FILE "${CMAKE_CURRENT_BINARY_DIR}/rainynite_core-config.cmake"
  32. )
  33. install(
  34. EXPORT rainynite_core
  35. FILE "rainynite_core-config.cmake"
  36. DESTINATION "lib/cmake/rainynite_core"
  37. )
  38. install(
  39. DIRECTORY include/
  40. DESTINATION include
  41. )