CMakeLists.txt 981 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. cmake_minimum_required(VERSION 3.0)
  2. set(PROJECT_NAME Sophiar2)
  3. set(CMAKE_CXX_STANDARD 20)
  4. project(${PROJECT_NAME})
  5. include_directories(./src)
  6. find_package(Boost REQUIRED COMPONENTS iostreams)
  7. list(APPEND EXTRA_LIBS ${Boost_LIBRARIES} bcrypt)
  8. include_directories(${Boost_INCLUDE_DIRS})
  9. find_package(fmt REQUIRED)
  10. list(APPEND EXTRA_LIBS fmt::fmt)
  11. find_package(spdlog REQUIRED)
  12. list(APPEND EXTRA_LIBS spdlog::spdlog)
  13. find_package(Eigen3 REQUIRED)
  14. list(APPEND EXTRA_LIBS Eigen3::Eigen)
  15. find_package(yaml-cpp REQUIRED)
  16. list(APPEND EXTRA_LIBS ${YAML_CPP_LIBRARIES})
  17. include_directories(${YAML_CPP_INCLUDE_DIR})
  18. file(GLOB_RECURSE SRC_FILES ./src/*.cpp)
  19. add_executable(${PROJECT_NAME} ${SRC_FILES})
  20. IF (WIN32)
  21. list(APPEND EXTRA_LIBS ws2_32 winmm)
  22. ENDIF ()
  23. target_link_libraries(${PROJECT_NAME} ${EXTRA_LIBS})
  24. file(GLOB_RECURSE EXTERN_DEF_FILES ./src/extern_defs/*.cpp)
  25. file(GLOB_RECURSE CORE_IMPL_FILES ./src/core/*.cpp)
  26. add_subdirectory(benchmark)
  27. add_subdirectory(tests)