Fixing slurm detection in cmake

This commit is contained in:
Ian Roddis
2021-09-10 13:33:53 -03:00
parent ea53735069
commit d519b11247
3 changed files with 20 additions and 8 deletions

View File

@@ -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)

View File

@@ -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})
target_link_libraries(${PROJECT_NAME} pistache pthread rapidjson better-enums)
add_subdirectory(src)

View File

@@ -201,4 +201,4 @@ int main(int argc, char **argv) {
std::this_thread::sleep_for(std::chrono::seconds(30));
}
server.shutdown();
}
}