diff --git a/cmake/sources.cmake b/cmake/sources.cmake index 354de9e..06917f7 100644 --- a/cmake/sources.cmake +++ b/cmake/sources.cmake @@ -257,56 +257,9 @@ set(hipo_util_headers ipm/hipo/auxiliary/VectorOperations.h) set(hipo_orderings_sources - ../extern/metis/GKlib/error.c - ../extern/metis/GKlib/mcore.c - ../extern/metis/GKlib/memory.c - ../extern/metis/GKlib/random.c - ../extern/metis/libmetis/auxapi.c - ../extern/metis/libmetis/balance.c - ../extern/metis/libmetis/bucketsort.c - ../extern/metis/libmetis/coarsen.c - ../extern/metis/libmetis/compress.c - ../extern/metis/libmetis/contig.c - ../extern/metis/libmetis/fm.c - ../extern/metis/libmetis/gklib.c - ../extern/metis/libmetis/graph.c - ../extern/metis/libmetis/initpart.c - ../extern/metis/libmetis/mcutil.c - ../extern/metis/libmetis/mmd.c - ../extern/metis/libmetis/ometis.c - ../extern/metis/libmetis/options.c - ../extern/metis/libmetis/refine.c - ../extern/metis/libmetis/separator.c - ../extern/metis/libmetis/sfm.c - ../extern/metis/libmetis/srefine.c - ../extern/metis/libmetis/util.c - ../extern/metis/libmetis/wspace.c ../extern/rcm/rcm.cpp) set(hipo_orderings_headers - ../extern/metis/GKlib/gk_arch.h - ../extern/metis/GKlib/gk_defs.h - ../extern/metis/GKlib/gk_macros.h - ../extern/metis/GKlib/gk_mkblas.h - ../extern/metis/GKlib/gk_mkmemory.h - ../extern/metis/GKlib/gk_mkpqueue.h - ../extern/metis/GKlib/gk_mkrandom.h - ../extern/metis/GKlib/gk_mksort.h - ../extern/metis/GKlib/gk_ms_inttypes.h - ../extern/metis/GKlib/gk_ms_stat.h - ../extern/metis/GKlib/gk_ms_stdint.h - ../extern/metis/GKlib/gk_proto.h - ../extern/metis/GKlib/gk_struct.h - ../extern/metis/GKlib/gk_types.h - ../extern/metis/GKlib/GKlib.h - ../extern/metis/libmetis/defs.h - ../extern/metis/libmetis/gklib_defs.h - ../extern/metis/libmetis/macros.h - ../extern/metis/libmetis/metislib.h - ../extern/metis/libmetis/proto.h - ../extern/metis/libmetis/stdheaders.h - ../extern/metis/libmetis/struct.h - ../extern/metis/metis.h ../extern/rcm/rcm.h) # redefinition of 'kHighsInf' diff --git a/highs/CMakeLists.txt b/highs/CMakeLists.txt index 99ae0d1..f2d873b 100644 --- a/highs/CMakeLists.txt +++ b/highs/CMakeLists.txt @@ -159,6 +159,7 @@ else() target_sources(highs PRIVATE ${sources} ${headers} ${win_version_file}) target_link_libraries(highs PRIVATE amd) + target_link_libraries(highs PRIVATE metis) # Optional Cuda if (CUPDLP_GPU) diff --git a/highs/ipm/hipo/factorhighs/Analyse.cpp b/highs/ipm/hipo/factorhighs/Analyse.cpp index e638240..0d9b4e5 100644 --- a/highs/ipm/hipo/factorhighs/Analyse.cpp +++ b/highs/ipm/hipo/factorhighs/Analyse.cpp @@ -13,7 +13,7 @@ #include #include "ipm/hipo/auxiliary/Auxiliary.h" #include "ipm/hipo/auxiliary/Log.h" -#include "metis/metis.h" +#include #include "rcm/rcm.h" namespace hipo { diff --git a/highs/ipm/hipo/ipm/FactorHiGHSSolver.cpp b/highs/ipm/hipo/ipm/FactorHiGHSSolver.cpp index 6a11446..37cca65 100644 --- a/highs/ipm/hipo/ipm/FactorHiGHSSolver.cpp +++ b/highs/ipm/hipo/ipm/FactorHiGHSSolver.cpp @@ -6,7 +6,7 @@ #include #include "ipm/hipo/auxiliary/Auxiliary.h" #include "ipm/hipo/auxiliary/Log.h" -#include "metis/metis.h" +#include #include "parallel/HighsParallel.h" #include "rcm/rcm.h" @@ -591,7 +591,7 @@ Int FactorHiGHSSolver::chooseOrdering(const std::vector& rows, // compute ordering if (orderings_to_try[i] == kHipoMetisString) { idx_t options[METIS_NOPTIONS]; - Highs_METIS_SetDefaultOptions(options); + METIS_SetDefaultOptions(options); options[METIS_OPTION_SEED] = kMetisSeed; // set logging of Metis depending on debug level @@ -606,7 +606,7 @@ Int FactorHiGHSSolver::chooseOrdering(const std::vector& rows, std::vector iperm(n); Int status = - Highs_METIS_NodeND(&n, full_ptr.data(), full_rows.data(), NULL, + METIS_NodeND(&n, full_ptr.data(), full_rows.data(), NULL, options, permutations[i].data(), iperm.data()); log_.printDevInfo("Metis done\n"); -- 2.53.0