cmake_minimum_required(VERSION 3.14) project(overall) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_EXPORT_COMPILE_COMMANDS True) set(THIRD_PARTY_DIR ${CMAKE_BINARY_DIR}/third_party) find_package(Threads REQUIRED) include(cmake/rapidjson.cmake) include(cmake/pistache.cmake) include(cmake/better-enums.cmake) include(cmake/argparse.cmake) include(cmake/Catch2.cmake) option(DAGGY_ENABLE_SLURM "add support for SLURM executor" ON) if (DAGGY_ENABLE_SLURM) find_library(SLURM_LIB libslurm.a slurm REQUIRED) find_path(SLURM_INCLUDE_DIR "slurm/slurm.h" REQUIRED) if (SLURM_LIB MATCHES ".*\.a") add_library(slurm STATIC IMPORTED) else() add_library(slurm SHARED IMPORTED) endif() set_target_properties(slurm PROPERTIES IMPORTED_LOCATION ${SLURM_LIB}) target_include_directories(slurm INTERFACE ${SLURM_INCLUDE_DIR}) target_compile_definitions(slurm INTERFACE DAGGY_ENABLE_SLURM) target_link_libraries(slurm INTERFACE dl resolv) endif () add_subdirectory(daggy) add_subdirectory(tests) add_subdirectory(utils)