cmake_minimum_required(VERSION 3.14) project(overall) if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Debug") endif() set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_EXPORT_COMPILE_COMMANDS True) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Werror") if(CMAKE_BUILD_TYPE MATCHES "Debug") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread -fno-omit-frame-pointer") endif() set(THIRD_PARTY_DIR ${CMAKE_BINARY_DIR}/third_party) find_package(Threads REQUIRED) option(DAGGY_ENABLE_SLURM "add support for SLURM executor" ON) option(DAGGY_ENABLE_BENCHMARKS "Add catch2 benchmarks" ON) include(cmake/rapidjson.cmake) include(cmake/pistache.cmake) include(cmake/better-enums.cmake) include(cmake/argparse.cmake) include(cmake/Catch2.cmake) include(cmake/daggy_features.cmake) message("-- CMAKE Build Type is ${CMAKE_BUILD_TYPE}") # use, i.e. don't skip the full RPATH for the build tree set(CMAKE_SKIP_BUILD_RPATH FALSE) # when building, don't use the install RPATH already # (but later on when installing) set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") # add the automatically determined parts of the RPATH # which point to directories outside the build tree to the install RPATH set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) add_subdirectory(daggy) add_subdirectory(tests) add_subdirectory(utils)