From e08064d9e7edc40ea53ce72241e384489403e6d2 Mon Sep 17 00:00:00 2001 From: Gold856 <117957790+Gold856@users.noreply.github.com> Date: Tue, 7 Jan 2025 07:49:32 -0500 Subject: [PATCH] Use CMAKE_POSITION_INDEPENDENT_CODE instead of -fPIC --- CMakeLists.txt | 1 + cmake/GtsamBuildTypes.cmake | 1 - gtsam/3rdparty/metis/libmetis/CMakeLists.txt | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 90162fe29..85c3d1b44 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,6 +50,7 @@ if(MSVC) set(CMAKE_STATIC_LINKER_FLAGS ${MSVC_LINKER_FLAGS}) endif() +set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake") include(GtsamMakeConfigFile) include(GNUInstallDirs) diff --git a/cmake/GtsamBuildTypes.cmake b/cmake/GtsamBuildTypes.cmake index 19314cd31..76c04a2f9 100644 --- a/cmake/GtsamBuildTypes.cmake +++ b/cmake/GtsamBuildTypes.cmake @@ -130,7 +130,6 @@ else() set(GTSAM_COMPILE_OPTIONS_PRIVATE_COMMON -Wall # Enable common warnings - -fPIC # ensure proper code generation for shared libraries $<$:-Wreturn-local-addr -Werror=return-local-addr> # Error: return local address $<$:-Wreturn-stack-address -Werror=return-stack-address> # Error: return local address $<$:-Wno-weak-template-vtables> # TODO(dellaert): don't know how to resolve diff --git a/gtsam/3rdparty/metis/libmetis/CMakeLists.txt b/gtsam/3rdparty/metis/libmetis/CMakeLists.txt index e0a178c5b..96ec59f64 100644 --- a/gtsam/3rdparty/metis/libmetis/CMakeLists.txt +++ b/gtsam/3rdparty/metis/libmetis/CMakeLists.txt @@ -3,7 +3,6 @@ include_directories(.) # Find sources. file(GLOB metis_sources *.c) # Build libmetis. -add_definitions(-fPIC) add_library(metis-gtsam ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources}) if(UNIX) target_link_libraries(metis-gtsam m)