diff --git a/CMakeLists.txt b/CMakeLists.txt index 8aefa31..d9f785e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,8 +17,19 @@ include(cmake/Catch2.cmake) option(DAGGY_ENABLE_SLURM "add support for SLURM executor" ON) if (DAGGY_ENABLE_SLURM) - add_compile_options(-DDAGGY_ENABLE_SLURM) - find_library(slurm slurm REQUIRED) + 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) diff --git a/daggy/CMakeLists.txt b/daggy/CMakeLists.txt index 038a9bb..3469849 100644 --- a/daggy/CMakeLists.txt +++ b/daggy/CMakeLists.txt @@ -1,11 +1,12 @@ project(libdaggy) -SET(LINK_LIBS pistache pthread rapidjson better-enums) +add_library(${PROJECT_NAME} STATIC) + IF (DAGGY_ENABLE_SLURM) - SET(LINK_LIBS ${LINK_LIBS} slurm) + target_link_libraries(${PROJECT_NAME} slurm) endif () -file(GLOB_RECURSE SOURCES src/*.cpp) -add_library(${PROJECT_NAME} STATIC ${SOURCES}) target_include_directories(${PROJECT_NAME} PUBLIC include) -target_link_libraries(${PROJECT_NAME} ${LINK_LIBS}) \ No newline at end of file +target_link_libraries(${PROJECT_NAME} pistache pthread rapidjson better-enums) + +add_subdirectory(src) diff --git a/utils/daggyd/daggyd.cpp b/utils/daggyd/daggyd.cpp index 7c1ff98..59cf8b8 100644 --- a/utils/daggyd/daggyd.cpp +++ b/utils/daggyd/daggyd.cpp @@ -201,4 +201,4 @@ int main(int argc, char **argv) { std::this_thread::sleep_for(std::chrono::seconds(30)); } server.shutdown(); -} \ No newline at end of file +}