use internal metislib.h; extern C for system&local

release/4.3a0
acxz 2022-02-21 18:14:49 -05:00
parent 5d3b0bf1c1
commit c7374307f4
3 changed files with 10 additions and 10 deletions

View File

@ -21,7 +21,12 @@ if(GTSAM_USE_SYSTEM_METIS)
mark_as_advanced(METIS_LIBRARY) mark_as_advanced(METIS_LIBRARY)
add_library(metis-gtsam-if INTERFACE) add_library(metis-gtsam-if INTERFACE)
target_include_directories(metis-gtsam-if BEFORE INTERFACE ${METIS_INCLUDE_DIR}) target_include_directories(metis-gtsam-if BEFORE INTERFACE ${METIS_INCLUDE_DIR}
# gtsam_unstable/partition/FindSeparator-inl.h uses internel metislib.h API
# via extern "C"
$<BUILD_INTERFACE:${GTSAM_SOURCE_DIR}/gtsam/3rdparty/metis/libmetis>
$<BUILD_INTERFACE:${GTSAM_SOURCE_DIR}/gtsam/3rdparty/metis/GKlib>
)
target_link_libraries(metis-gtsam-if INTERFACE ${METIS_LIBRARY}) target_link_libraries(metis-gtsam-if INTERFACE ${METIS_LIBRARY})
endif() endif()
else() else()
@ -30,10 +35,12 @@ else()
add_subdirectory(${GTSAM_SOURCE_DIR}/gtsam/3rdparty/metis) add_subdirectory(${GTSAM_SOURCE_DIR}/gtsam/3rdparty/metis)
target_include_directories(metis-gtsam BEFORE PUBLIC target_include_directories(metis-gtsam BEFORE PUBLIC
$<INSTALL_INTERFACE:include/gtsam/3rdparty/metis/>
$<BUILD_INTERFACE:${GTSAM_SOURCE_DIR}/gtsam/3rdparty/metis/include> $<BUILD_INTERFACE:${GTSAM_SOURCE_DIR}/gtsam/3rdparty/metis/include>
# gtsam_unstable/partition/FindSeparator-inl.h uses internel metislib.h API
# via extern "C"
$<BUILD_INTERFACE:${GTSAM_SOURCE_DIR}/gtsam/3rdparty/metis/libmetis> $<BUILD_INTERFACE:${GTSAM_SOURCE_DIR}/gtsam/3rdparty/metis/libmetis>
$<BUILD_INTERFACE:${GTSAM_SOURCE_DIR}/gtsam/3rdparty/metis/GKlib> $<BUILD_INTERFACE:${GTSAM_SOURCE_DIR}/gtsam/3rdparty/metis/GKlib>
$<INSTALL_INTERFACE:include/gtsam/3rdparty/metis/>
) )
add_library(metis-gtsam-if INTERFACE) add_library(metis-gtsam-if INTERFACE)

View File

@ -20,10 +20,9 @@
#include "FindSeparator.h" #include "FindSeparator.h"
#ifndef GTSAM_USE_SYSTEM_METIS #include <metis.h>
extern "C" { extern "C" {
#include <metis.h>
#include <metislib.h> #include <metislib.h>
} }
@ -566,5 +565,3 @@ namespace gtsam { namespace partition {
} }
}} //namespace }} //namespace
#endif

View File

@ -20,8 +20,6 @@ using namespace std;
using namespace gtsam; using namespace gtsam;
using namespace gtsam::partition; using namespace gtsam::partition;
#ifndef GTSAM_USE_SYSTEM_METIS
/* ************************************************************************* */ /* ************************************************************************* */
// x0 - x1 - x2 // x0 - x1 - x2
// l3 l4 // l3 l4
@ -229,8 +227,6 @@ TEST ( Partition, findSeparator3_with_reduced_camera )
LONGS_EQUAL(2, partitionTable[28]); LONGS_EQUAL(2, partitionTable[28]);
} }
#endif
/* ************************************************************************* */ /* ************************************************************************* */
int main() { TestResult tr; return TestRegistry::runAllTests(tr);} int main() { TestResult tr; return TestRegistry::runAllTests(tr);}
/* ************************************************************************* */ /* ************************************************************************* */