From 7aeb153da8adc0f62f58b9f66fcae438c4199b23 Mon Sep 17 00:00:00 2001 From: Jose Luis Blanco-Claraco Date: Fri, 27 Dec 2019 23:28:27 +0100 Subject: [PATCH] Fix build errors in examples/tests --- gtsam/3rdparty/metis/CMakeLists.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gtsam/3rdparty/metis/CMakeLists.txt b/gtsam/3rdparty/metis/CMakeLists.txt index 8fca88e26..8ff69dde3 100644 --- a/gtsam/3rdparty/metis/CMakeLists.txt +++ b/gtsam/3rdparty/metis/CMakeLists.txt @@ -47,3 +47,17 @@ if(GTSAM_BUILD_METIS_EXECUTABLES) endif() set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE) +# Export macros assumed in metis public headers to clients of the library. +# This was added to solve MSVC build errors. +if (TARGET metis AND GKlib_COPTIONS) + # Remove (possibly) duplicated symbols: + string(REPLACE -DLINUX "" GKlib_COPTIONS ${GKlib_COPTIONS}) + string(REPLACE -DWIN32 "" GKlib_COPTIONS ${GKlib_COPTIONS}) + string(REPLACE -DNDEBUG2 "" GKlib_COPTIONS ${GKlib_COPTIONS}) + string(REPLACE -DNDEBUG "" GKlib_COPTIONS ${GKlib_COPTIONS}) + string(REPLACE -pedantic "" GKlib_COPTIONS ${GKlib_COPTIONS}) + string(REPLACE -std=c99 "" GKlib_COPTIONS ${GKlib_COPTIONS}) + separate_arguments(GKlib_COPTIONS) + # Declare those flags as to-be-imported in "client libraries", i.e. "gtsam" + target_compile_options(metis INTERFACE ${GKlib_COPTIONS}) +endif()