cmake_minimum_required(VERSION 3.10.0) project(SimulateurFranceVote VERSION 0.1.0 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) file(GLOB_RECURSE SRCS src/* ) # ------- Inclusion de JSONfMC++ -------- # JSONfMC++ Lib pour gestion fichier JSON, en mode header only. set(JSONlib_DIR ./lib/CMake/Linux) find_package(JSONlib REQUIRED) if(JSONlib_FOUND) message("lib JSONFMC++ Trouvé") else() message("lib JSONFMC++ Introuvable") endif() # --------------------------------------- # ------- Inclusion de JSON-Schema-Validator -------- # JSON-Schema-Validator Lib pour valider les fichier JSON, en mode header only. if(WIN32) set(JSON_SCHEMA_VALIDATOR_DIR ./lib/CMake/Windows) else() set(JSON_SCHEMA_VALIDATOR_DIR ./lib/CMake/Linux) endif() find_package(JSON_SCHEMA_VALIDATOR REQUIRED) if(JSON_SCHEMA_VALIDATOR_FOUND) message("lib JSON_Schema_Validator Trouvé") else() message("lib JSON_Schema_Validator Introuvable") endif() # --------------------------------------- # ------- Inclusion de httplib -------- # httplib Lib pour gestion des requetes web en mode header only. if(WIN32) set(HTTPlib_DIR ./lib/CMake/Windows) else() set(HTTPlib_DIR ./lib/CMake/Linux) endif() find_package(HTTPlib REQUIRED) if(HTTPlib_FOUND) message("lib HTTP Trouvé") else() message("lib HTTP Introuvable") endif() # --------------------------------------- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}) add_executable(SimulateurFranceVote ${SRCS}) include_directories(${JSONFMCPP_INCLUDE_DIRS}) include_directories(${JSON_SCHEMA_VALIDATOR_INCLUDE_DIRS}) include_directories(${HTTPLIB_INCLUDE_DIRS}) #target_link_libraries(SimulateurFranceVote # debug ${JSON_SCHEMA_VALIDATOR_LIBRARIES} # optimized ${JSON_SCHEMA_VALIDATOR_LIBRARIES} #)