CMakeLists.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. cmake_minimum_required(VERSION 3.8.0)
  2. project(mdd)
  3. option(TESTS_ENABLED "enable unit tests" ON)
  4. set(CMAKE_CXX_STANDARD 17)
  5. include(cmake/configure_msvc.cmake)
  6. configure_msvc_runtime()
  7. install(FILES cmake/mdd-config.cmake DESTINATION .)
  8. set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  9. if(${TESTS_ENABLED})
  10. enable_testing()
  11. add_definitions(-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING )
  12. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/googletest/googlemock/include)
  13. add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/googletest)
  14. endif()
  15. FIND_PACKAGE( Boost REQUIRED COMPONENTS program_options system)
  16. INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIRS} )
  17. LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} )
  18. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/json/single_include)
  19. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libzmq/include)
  20. set(BUILD_SHARED OFF)
  21. set(BUILD_STATIC ON)
  22. set(BUILD_TESTS OFF CACHE BOOL "" FORCE)
  23. set(ZMQ_BUILD_TESTS OFF CACHE BOOL "" FORCE)
  24. set(ENABLE_PRECOMPILED OFF CACHE BOOL "" FORCE)
  25. add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libzmq)
  26. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/cppzmq)
  27. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/cpp-httplib)
  28. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/exprtk)
  29. add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/sqlite3)
  30. add_subdirectory(lib)
  31. add_subdirectory(server)
  32. install(FILES thirdparty/json/single_include/json.hpp DESTINATION include)
  33. install(FILES thirdparty/json/single_include/nlohmann/json.hpp DESTINATION include/nlohmann)