cmake_minimum_required(VERSION 3.11) project(EsriAssignment) set(CMAKE_CXX_STANDARD 17) include(FetchContent) FetchContent_Declare(json GIT_REPOSITORY https://github.com/ArthurSonzogni/nlohmann_json_cmake_fetchcontent GIT_TAG v3.9.1) FetchContent_GetProperties(json) if(NOT json_POPULATED) FetchContent_Populate(json) add_subdirectory(${json_SOURCE_DIR} ${json_BINARY_DIR} EXCLUDE_FROM_ALL) endif() find_package(Protobuf REQUIRED) include_directories(${PROTOBUF_INCLUDE_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) add_subdirectory(protocol_buffers_definitions) include_directories(src) add_subdirectory(src) if (BUILD_TESTING) enable_testing() add_subdirectory(tests) endif()