43 lines
1.0 KiB
CMake
43 lines
1.0 KiB
CMake
function(ksi_find_library)
|
|
cmake_parse_arguments(
|
|
ARG
|
|
""
|
|
"NAME;ALIAS;LIB"
|
|
"HINTS"
|
|
${ARGN}
|
|
)
|
|
|
|
set(_ksi_lib_paths
|
|
"${INTEGR_DIR}/lib"
|
|
)
|
|
|
|
if(KSI_${ARG_LIB}_LIBARY)
|
|
message("Library ${ARG_ALIAS} already found")
|
|
return()
|
|
endif()
|
|
|
|
find_library(KSI_${ARG_LIB}_LIBARY ${ARG_LIB}
|
|
NO_DEFAULT_PATH
|
|
PATHS ${_ksi_lib_paths}
|
|
)
|
|
|
|
add_library(${ARG_NAME} INTERFACE IMPORTED)
|
|
add_library(${ARG_ALIAS} ALIAS ${ARG_NAME})
|
|
|
|
target_include_directories(${ARG_NAME} SYSTEM INTERFACE ${INTEGR_DIR}/include)
|
|
target_link_libraries(${ARG_NAME} INTERFACE -l${ARG_LIB})
|
|
target_link_directories(${ARG_NAME} INTERFACE ${INTEGR_DIR}/lib)
|
|
|
|
message("Found ${ARG_ALIAS} at ${KSI_${ARG_LIB}_LIBARY}")
|
|
|
|
endfunction()
|
|
|
|
|
|
# LIB -> library that needs to be linked -lLIB
|
|
# NAME -> name used by cmake
|
|
|
|
ksi_find_library(LIB "tdxpp" NAME "TDXPP" ALIAS "TH::TDXPP")
|
|
ksi_find_library(LIB "BFS_SOS" NAME "BFS_SOS" ALIAS "BFS::SOS")
|
|
|
|
find_package(Boost REQUIRED)
|