Add BUILD_SHARED_LIBS as a configurable option
Update build logic to match and also prevent conflicting optionsrelease/4.3a0
parent
9db9ad7a03
commit
cd27b7f2ac
|
@ -21,12 +21,13 @@ if (NOT MSVC)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Configurable Options
|
# Configurable Options
|
||||||
|
option(BUILD_SHARED_LIBS "Build shared libraries" ON)
|
||||||
if(GTSAM_UNSTABLE_AVAILABLE)
|
if(GTSAM_UNSTABLE_AVAILABLE)
|
||||||
option(GTSAM_BUILD_UNSTABLE "Enable/Disable libgtsam_unstable" ON)
|
option(GTSAM_BUILD_UNSTABLE "Enable/Disable libgtsam_unstable" ON)
|
||||||
option(GTSAM_UNSTABLE_BUILD_PYTHON "Enable/Disable Python wrapper for libgtsam_unstable" ON)
|
option(GTSAM_UNSTABLE_BUILD_PYTHON "Enable/Disable Python wrapper for libgtsam_unstable" ON)
|
||||||
option(GTSAM_UNSTABLE_INSTALL_MATLAB_TOOLBOX "Enable/Disable MATLAB wrapper for libgtsam_unstable" OFF)
|
option(GTSAM_UNSTABLE_INSTALL_MATLAB_TOOLBOX "Enable/Disable MATLAB wrapper for libgtsam_unstable" OFF)
|
||||||
endif()
|
endif()
|
||||||
option(GTSAM_FORCE_SHARED_LIB "Force gtsam to be a shared library, overriding BUILD_SHARED_LIBS" ON)
|
option(GTSAM_FORCE_SHARED_LIB "Force gtsam to be a shared library, overriding BUILD_SHARED_LIBS" OFF)
|
||||||
option(GTSAM_FORCE_STATIC_LIB "Force gtsam to be a static library, overriding BUILD_SHARED_LIBS" OFF)
|
option(GTSAM_FORCE_STATIC_LIB "Force gtsam to be a static library, overriding BUILD_SHARED_LIBS" OFF)
|
||||||
option(GTSAM_USE_QUATERNIONS "Enable/Disable using an internal Quaternion representation for rotations instead of rotation matrices. If enable, Rot3::EXPMAP is enforced by default." OFF)
|
option(GTSAM_USE_QUATERNIONS "Enable/Disable using an internal Quaternion representation for rotations instead of rotation matrices. If enable, Rot3::EXPMAP is enforced by default." OFF)
|
||||||
option(GTSAM_POSE3_EXPMAP "Enable/Disable using Pose3::EXPMAP as the default mode. If disabled, Pose3::FIRST_ORDER will be used." ON)
|
option(GTSAM_POSE3_EXPMAP "Enable/Disable using Pose3::EXPMAP as the default mode. If disabled, Pose3::FIRST_ORDER will be used." ON)
|
||||||
|
@ -46,7 +47,9 @@ option(GTSAM_TANGENT_PREINTEGRATION "Use new ImuFactor with integration
|
||||||
option(GTSAM_SLOW_BUT_CORRECT_BETWEENFACTOR "Use the slower but correct version of BetweenFactor" OFF)
|
option(GTSAM_SLOW_BUT_CORRECT_BETWEENFACTOR "Use the slower but correct version of BetweenFactor" OFF)
|
||||||
option(GTSAM_SLOW_BUT_CORRECT_EXPMAP "Use slower but correct expmap for Pose2" OFF)
|
option(GTSAM_SLOW_BUT_CORRECT_EXPMAP "Use slower but correct expmap for Pose2" OFF)
|
||||||
|
|
||||||
if (GTSAM_FORCE_SHARED_LIB)
|
if (GTSAM_FORCE_SHARED_LIB AND GTSAM_FORCE_STATIC_LIB)
|
||||||
|
message(FATAL_ERROR "GTSAM_FORCE_SHARED_LIB and GTSAM_FORCE_STATIC_LIB are both true. Please, to unambiguously select the desired library type to use to build GTSAM, set one of GTSAM_FORCE_SHARED_LIB=ON, GTSAM_FORCE_STATIC_LIB=ON, or BUILD_SHARED_LIBS={ON/OFF}")
|
||||||
|
elseif (GTSAM_FORCE_SHARED_LIB)
|
||||||
message(STATUS "GTSAM is a shared library due to GTSAM_FORCE_SHARED_LIB")
|
message(STATUS "GTSAM is a shared library due to GTSAM_FORCE_SHARED_LIB")
|
||||||
set(GTSAM_LIBRARY_TYPE SHARED CACHE STRING "" FORCE)
|
set(GTSAM_LIBRARY_TYPE SHARED CACHE STRING "" FORCE)
|
||||||
set(GTSAM_SHARED_LIB 1 CACHE BOOL "" FORCE)
|
set(GTSAM_SHARED_LIB 1 CACHE BOOL "" FORCE)
|
||||||
|
@ -55,10 +58,9 @@ elseif (GTSAM_FORCE_STATIC_LIB)
|
||||||
set(GTSAM_LIBRARY_TYPE STATIC CACHE STRING "" FORCE)
|
set(GTSAM_LIBRARY_TYPE STATIC CACHE STRING "" FORCE)
|
||||||
set(GTSAM_SHARED_LIB 0 CACHE BOOL "" FORCE)
|
set(GTSAM_SHARED_LIB 0 CACHE BOOL "" FORCE)
|
||||||
elseif (BUILD_SHARED_LIBS)
|
elseif (BUILD_SHARED_LIBS)
|
||||||
message(STATUS "GTSAM is a shared library due to BUILD_SHARED_LIBS is ON")
|
|
||||||
set(GTSAM_LIBRARY_TYPE SHARED CACHE STRING "" FORCE)
|
set(GTSAM_LIBRARY_TYPE SHARED CACHE STRING "" FORCE)
|
||||||
set(GTSAM_SHARED_LIB 1 CACHE BOOL "" FORCE)
|
set(GTSAM_SHARED_LIB 1 CACHE BOOL "" FORCE)
|
||||||
elseif((DEFINED BUILD_SHARED_LIBS) AND (NOT BUILD_SHARED_LIBS))
|
elseif(NOT BUILD_SHARED_LIBS)
|
||||||
message(STATUS "GTSAM is a static library due to BUILD_SHARED_LIBS is OFF")
|
message(STATUS "GTSAM is a static library due to BUILD_SHARED_LIBS is OFF")
|
||||||
set(GTSAM_LIBRARY_TYPE STATIC CACHE STRING "" FORCE)
|
set(GTSAM_LIBRARY_TYPE STATIC CACHE STRING "" FORCE)
|
||||||
set(GTSAM_SHARED_LIB 0 CACHE BOOL "" FORCE)
|
set(GTSAM_SHARED_LIB 0 CACHE BOOL "" FORCE)
|
||||||
|
|
Loading…
Reference in New Issue