Skip to content

Commit 03ea452

Browse files
use find_library for metis and gklib
1 parent 319f997 commit 03ea452

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

setup_gpu.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,5 @@ cd build
4343
#you need to have cmake version at least 3.23 for our build
4444
cmake $ipwd -DCMAKE_PREFIX_PATH=$loc/install/kokkos-kernels/lib/cmake/KokkosKernels \
4545
-DCMAKE_BUILD_TYPE=Release \
46-
-DLINK_GKLIB=True -DMETIS_DIR="$loc/local" -DCMAKE_INSTALL_PREFIX="$ipwd/install"
46+
-DLINK_GKLIB=True -DMETIS_HINT="$loc/local" -DCMAKE_INSTALL_PREFIX="$ipwd/install"
4747
make -j

setup_mac.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,5 @@ cd build
4141
# requires at least cmake version 3.23
4242
cmake $ipwd -DCMAKE_PREFIX_PATH=$loc/install/kokkos-kernels/lib/cmake/KokkosKernels \
4343
-DCMAKE_CXX_COMPILER=$compiler -DCMAKE_BUILD_TYPE=Release \
44-
-DLINK_GKLIB=True -DMETIS_DIR="$loc/local" -DCMAKE_INSTALL_PREFIX="$ipwd/install"
44+
-DLINK_GKLIB=True -DMETIS_HINT="$loc/local" -DCMAKE_INSTALL_PREFIX="$ipwd/install"
4545
make -j

src/CMakeLists.txt

+11-6
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,26 @@ target_sources(jet PUBLIC
1111
FILES ${CMAKE_SOURCE_DIR}/header/jet.h ${CMAKE_SOURCE_DIR}/header/jet_defs.h ${CMAKE_SOURCE_DIR}/header/jet_config.h ${CMAKE_SOURCE_DIR}/header/experiment_data.hpp)
1212
target_include_directories(jet PRIVATE ${CMAKE_SOURCE_DIR}/header)
1313

14-
if(DEFINED METIS_DIR)
14+
if(DEFINED METIS_HINT)
1515
# This is used by the build script
1616
# to avoid putting metis and gklib in the global path
17-
target_include_directories(jet PRIVATE ${METIS_DIR}/include)
18-
# downstream targets need to know about these link directories
19-
target_link_directories(jet INTERFACE ${METIS_DIR}/lib)
17+
target_include_directories(jet PRIVATE ${METIS_HINT}/include)
18+
endif()
19+
20+
# find metis and GKlib using optional hint
21+
# did you know that find_library doesn't search the LD_LIBRARY_PATH?
22+
find_library(LIBMETIS metis HINTS ${METIS_HINT}/lib REQUIRED)
23+
if(LINK_GKLIB)
24+
find_library(LIBGKLIB GKlib HINTS ${METIS_HINT}/lib REQUIRED)
2025
endif()
2126

2227
# link libjet (for downstream library consumers)
2328
# no linking actually occurs for libjet itself
2429
find_package(KokkosKernels REQUIRED)
2530
target_link_libraries(jet PUBLIC Kokkos::kokkos Kokkos::kokkoskernels)
26-
target_link_libraries(jet PRIVATE metis)
31+
target_link_libraries(jet PRIVATE ${LIBMETIS})
2732
if(LINK_GKLIB)
28-
target_link_libraries(jet PRIVATE GKlib)
33+
target_link_libraries(jet PRIVATE ${LIBGKLIB})
2934
endif()
3035

3136
# install jetlib and create cmake package

0 commit comments

Comments
 (0)