cmake_minimum_required(VERSION 3.8.0) project(mdd) option(TESTS_ENABLED "enable unit tests" ON) set(CMAKE_CXX_STANDARD 17) include(cmake/configure_msvc.cmake) configure_msvc_runtime() install(FILES cmake/mdd-config.cmake DESTINATION .) set(CMAKE_POSITION_INDEPENDENT_CODE ON) if(${TESTS_ENABLED}) enable_testing() add_definitions(-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING ) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/googletest/googlemock/include) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/googletest) endif() FIND_PACKAGE( Boost REQUIRED COMPONENTS program_options system) INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIRS} ) LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} ) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/json/single_include) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libzmq/include) set(BUILD_SHARED OFF) set(BUILD_STATIC ON) set(BUILD_TESTS OFF CACHE BOOL "" FORCE) set(ZMQ_BUILD_TESTS OFF CACHE BOOL "" FORCE) set(ENABLE_PRECOMPILED OFF CACHE BOOL "" FORCE) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libzmq) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/cppzmq) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/cpp-httplib) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/exprtk) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/sqlite3) add_subdirectory(lib) add_subdirectory(server) install(FILES thirdparty/json/single_include/json.hpp DESTINATION include) install(FILES thirdparty/json/single_include/nlohmann/json.hpp DESTINATION include/nlohmann)