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() | ||||
| 
 | ||||
| # Configurable Options | ||||
| option(BUILD_SHARED_LIBS                     "Build shared libraries" ON) | ||||
| if(GTSAM_UNSTABLE_AVAILABLE) | ||||
|     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_INSTALL_MATLAB_TOOLBOX "Enable/Disable MATLAB wrapper for libgtsam_unstable" OFF) | ||||
| 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_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) | ||||
|  | @ -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_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") | ||||
|     set(GTSAM_LIBRARY_TYPE SHARED CACHE STRING "" 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_SHARED_LIB 0 CACHE BOOL "" FORCE) | ||||
| 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_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") | ||||
|     set(GTSAM_LIBRARY_TYPE STATIC CACHE STRING "" FORCE) | ||||
|     set(GTSAM_SHARED_LIB 0 CACHE BOOL "" FORCE) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue