From f2376a644ea86a6fd546e7877bbcc5625faeee2b Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Fri, 20 Dec 2019 15:23:40 -0500 Subject: [PATCH 1/4] install gtsam_unstable correctly on APPLE devices --- gtsam/CMakeLists.txt | 2 +- gtsam_unstable/CMakeLists.txt | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gtsam/CMakeLists.txt b/gtsam/CMakeLists.txt index 82cdf2bad..11ec5510d 100644 --- a/gtsam/CMakeLists.txt +++ b/gtsam/CMakeLists.txt @@ -168,7 +168,7 @@ if(WIN32) # Add 'lib' prefix to static library to avoid filename collision with set_target_properties(gtsam PROPERTIES PREFIX "" DEFINE_SYMBOL GTSAM_EXPORTS - RUNTIME_OUTPUT_DIRECTORY "${GTSAM_BINARY_DIR}/bin") + RUNTIME_OUTPUT_DIRECTORY "${GTSAM_BINARY_DIR}/bin") endif() endif() diff --git a/gtsam_unstable/CMakeLists.txt b/gtsam_unstable/CMakeLists.txt index 53ba83fad..95e6c2293 100644 --- a/gtsam_unstable/CMakeLists.txt +++ b/gtsam_unstable/CMakeLists.txt @@ -98,6 +98,12 @@ if(WIN32) # Add 'lib' prefix to static library to avoid filename collision with endif() endif() +if (APPLE AND BUILD_SHARED_LIBS) + set_target_properties(gtsam_unstable PROPERTIES + INSTALL_NAME_DIR + "${CMAKE_INSTALL_PREFIX}/lib") +endif() + install( TARGETS gtsam_unstable EXPORT GTSAM-exports From 74e0647bed878d60598ab2c816546892b429fa8f Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Sat, 21 Dec 2019 10:41:29 -0500 Subject: [PATCH 2/4] add top level path for installation on macOS devices --- CMakeLists.txt | 6 ++++++ gtsam/CMakeLists.txt | 6 ------ gtsam_unstable/CMakeLists.txt | 6 ------ 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2af6341ea..9eae4567e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -345,6 +345,12 @@ if (MSVC) list_append_cache(GTSAM_COMPILE_OPTIONS_PRIVATE "/wd4244") # Disable loss of precision which is thrown all over our Eigen endif() +if (APPLE AND BUILD_SHARED_LIBS) + set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib" + CACHE PATH + "Default install directory on macOS") +endif() + ############################################################################### # Global compile options diff --git a/gtsam/CMakeLists.txt b/gtsam/CMakeLists.txt index 11ec5510d..48bb14f1b 100644 --- a/gtsam/CMakeLists.txt +++ b/gtsam/CMakeLists.txt @@ -172,12 +172,6 @@ if(WIN32) # Add 'lib' prefix to static library to avoid filename collision with endif() endif() -if (APPLE AND BUILD_SHARED_LIBS) - set_target_properties(gtsam PROPERTIES - INSTALL_NAME_DIR - "${CMAKE_INSTALL_PREFIX}/lib") -endif() - install( TARGETS gtsam EXPORT GTSAM-exports diff --git a/gtsam_unstable/CMakeLists.txt b/gtsam_unstable/CMakeLists.txt index 95e6c2293..53ba83fad 100644 --- a/gtsam_unstable/CMakeLists.txt +++ b/gtsam_unstable/CMakeLists.txt @@ -98,12 +98,6 @@ if(WIN32) # Add 'lib' prefix to static library to avoid filename collision with endif() endif() -if (APPLE AND BUILD_SHARED_LIBS) - set_target_properties(gtsam_unstable PROPERTIES - INSTALL_NAME_DIR - "${CMAKE_INSTALL_PREFIX}/lib") -endif() - install( TARGETS gtsam_unstable EXPORT GTSAM-exports From 2fe2e0b7548332f22447d295ea7a6f321efa6b90 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Sun, 22 Dec 2019 10:13:23 -0500 Subject: [PATCH 3/4] don't add CMAKE_INSTALL_NAME_DIR to cmake cache, allowing it to be updated by ccmake --- CMakeLists.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9eae4567e..4d2ee55e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -346,9 +346,8 @@ if (MSVC) endif() if (APPLE AND BUILD_SHARED_LIBS) - set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib" - CACHE PATH - "Default install directory on macOS") + # Set the default install directory on macOS + set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") endif() ############################################################################### From 1f6c1dfb8527cfadbce1c786708e9844d38209d1 Mon Sep 17 00:00:00 2001 From: Jose Luis Blanco Claraco Date: Sun, 22 Dec 2019 17:09:50 +0100 Subject: [PATCH 4/4] More consistent (not) use of CMAKE_INSTALL_PREFIX. --- cmake/GtsamMakeConfigFile.cmake | 2 +- gtsam/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/GtsamMakeConfigFile.cmake b/cmake/GtsamMakeConfigFile.cmake index 2fff888ef..0479a2524 100644 --- a/cmake/GtsamMakeConfigFile.cmake +++ b/cmake/GtsamMakeConfigFile.cmake @@ -15,7 +15,7 @@ function(GtsamMakeConfigFile PACKAGE_NAME) get_filename_component(name "${ARGV1}" NAME_WE) set(EXTRA_FILE "${name}.cmake") configure_file(${ARGV1} "${PROJECT_BINARY_DIR}/${EXTRA_FILE}" @ONLY) - install(FILES "${PROJECT_BINARY_DIR}/${EXTRA_FILE}" DESTINATION "${CMAKE_INSTALL_PREFIX}/${DEF_INSTALL_CMAKE_DIR}") + install(FILES "${PROJECT_BINARY_DIR}/${EXTRA_FILE}" DESTINATION "${DEF_INSTALL_CMAKE_DIR}") else() set(EXTRA_FILE "_does_not_exist_") endif() diff --git a/gtsam/CMakeLists.txt b/gtsam/CMakeLists.txt index 48bb14f1b..1079b845f 100644 --- a/gtsam/CMakeLists.txt +++ b/gtsam/CMakeLists.txt @@ -153,7 +153,7 @@ if(GTSAM_SUPPORT_NESTED_DISSECTION) $ $ $ - $ + $ ) endif()