2012-05-28 22:59:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-31 13:27:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								project ( GTSAM  CXX  C ) 
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:23 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								cmake_minimum_required ( VERSION  2.6 ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-02-01 03:59:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Set the version number for the library
  
						 
					
						
							
								
									
										
										
										
											2012-05-15 13:12:21 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  ( GTSAM_VERSION_MAJOR  2 ) 
  
						 
					
						
							
								
									
										
										
										
											2013-05-08 23:25:01 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  ( GTSAM_VERSION_MINOR  3 ) 
  
						 
					
						
							
								
									
										
										
										
											2012-03-02 00:07:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set  ( GTSAM_VERSION_PATCH  0 ) 
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-10-09 06:40:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								###############################################################################
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Gather information, perform checks, set defaults
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-02-01 03:59:16 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Set the default install path to home
  
						 
					
						
							
								
									
										
										
										
											2012-04-11 00:47:02 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#set (CMAKE_INSTALL_PREFIX ${HOME} CACHE PATH "Install prefix for library")
  
						 
					
						
							
								
									
										
										
										
											2012-02-01 03:59:16 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-05-28 22:59:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set ( CMAKE_MODULE_PATH  "${CMAKE_MODULE_PATH}"  "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ) 
  
						 
					
						
							
								
									
										
										
										
											2012-06-20 06:06:40 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								include ( GtsamMakeConfigFile ) 
  
						 
					
						
							
								
									
										
										
										
											2012-05-28 22:59:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-06-06 01:20:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Record the root dir for gtsam - needed during external builds, e.g., ROS
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( GTSAM_SOURCE_ROOT_DIR  ${ CMAKE_CURRENT_SOURCE_DIR } ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( STATUS  "GTSAM_SOURCE_ROOT_DIR: [${GTSAM_SOURCE_ROOT_DIR}]" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-05-28 22:59:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Load build type flags and default to Debug mode
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								include ( GtsamBuildTypes ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-02-29 12:11:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Use macros for creating tests/timing scripts
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								include ( GtsamTesting ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								include ( GtsamPrinting ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# guard against in-source builds
  
						 
					
						
							
								
									
										
										
										
											2012-05-25 04:11:38 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if ( ${ CMAKE_SOURCE_DIR }  STREQUAL  ${ CMAKE_BINARY_DIR } ) 
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  message ( FATAL_ERROR  "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there. You may need to remove CMakeCache.txt. " ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-05-15 13:12:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# See whether gtsam_unstable is available (it will be present only if we're using an SVN checkout)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if ( EXISTS  "${PROJECT_SOURCE_DIR}/gtsam_unstable"  AND  IS_DIRECTORY  "${PROJECT_SOURCE_DIR}/gtsam_unstable" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( GTSAM_UNSTABLE_AVAILABLE  1 ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								else ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( GTSAM_UNSTABLE_AVAILABLE  0 ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-10-09 06:40:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								###############################################################################
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Set up options
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# Configurable Options
  
						 
					
						
							
								
									
										
										
										
											2012-04-02 06:21:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								option ( GTSAM_BUILD_TESTS                  "Enable/Disable building of tests"           ON ) 
  
						 
					
						
							
								
									
										
										
										
											2012-12-12 03:16:08 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								option ( GTSAM_BUILD_TIMING                 "Enable/Disable building of timing scripts"  OFF )  # These do not currently work
  
						 
					
						
							
								
									
										
										
										
											2012-04-02 06:21:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								option ( GTSAM_BUILD_EXAMPLES               "Enable/Disable building of examples"        ON ) 
  
						 
					
						
							
								
									
										
										
										
											2012-05-15 13:12:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if ( GTSAM_UNSTABLE_AVAILABLE ) 
  
						 
					
						
							
								
									
										
										
										
											2012-07-14 05:54:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    option ( GTSAM_BUILD_UNSTABLE               "Enable/Disable libgtsam_unstable"           ON ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2012-05-15 13:12:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
									
										
										
										
											2013-03-14 02:56:21 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								option ( GTSAM_BUILD_SHARED_LIBRARY         "Enable/Disable building of a shared version of gtsam"  ON ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								option ( GTSAM_BUILD_STATIC_LIBRARY         "Enable/Disable building of a static version of gtsam"  OFF ) 
  
						 
					
						
							
								
									
										
										
										
											2012-04-02 06:21:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								option ( GTSAM_USE_QUATERNIONS              "Enable/Disable using an internal Quaternion representation for rotations instead of rotation matrices"  OFF ) 
  
						 
					
						
							
								
									
										
										
										
											2012-07-14 05:54:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if ( NOT  MSVC ) 
  
						 
					
						
							
								
									
										
										
										
											2013-03-14 02:17:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  option ( GTSAM_BUILD_CONVENIENCE_LIBRARIES  "Enable/Disable use of convenience libraries for faster development rebuilds, but slower install"  OFF ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2012-05-24 02:51:42 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
									
										
										
										
											2013-05-01 01:17:51 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								option ( GTSAM_POSE3_EXPMAP  			 	 "Enable/Disable using Pose3::EXPMAP as the default mode. If disabled, Pose3::FIRST_ORDER will be used."  OFF ) 
  
						 
					
						
							
								
									
										
										
										
											2013-05-21 22:18:01 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								option ( GTSAM_ENABLE_CONSISTENCY_CHECKS    "Enable/Disable expensive consistency checks"        OFF )  
  
						 
					
						
							
								
									
										
										
										
											2012-06-06 01:20:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-07-14 05:54:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Options relating to MATLAB wrapper
  
						 
					
						
							
								
									
										
										
										
											2012-06-04 23:33:16 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# TODO: Check for matlab mex binary before handling building of binaries
  
						 
					
						
							
								
									
										
										
										
											2012-09-11 02:16:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								option ( GTSAM_INSTALL_MATLAB_TOOLBOX       "Enable/Disable installation of matlab toolbox"   OFF ) 
  
						 
					
						
							
								
									
										
										
										
											2012-07-14 05:54:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								option ( GTSAM_BUILD_WRAP                   "Enable/Disable building of matlab wrap utility (necessary for matlab interface)"  ON ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								option ( GTSAM_INSTALL_WRAP                 "Enable/Disable installation of wrap utility for wrapping other libraries"     ON ) 
  
						 
					
						
							
								
									
										
										
										
											2012-05-26 05:18:41 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-07-14 05:54:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Check / set dependent variables for MATLAB wrapper
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( GTSAM_WRAP_HEADER_PATH  "${PROJECT_SOURCE_DIR}/wrap" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if ( GTSAM_INSTALL_MATLAB_TOOLBOX  AND  NOT  GTSAM_BUILD_WRAP ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									message ( FATAL_ERROR  "GTSAM_INSTALL_MATLAB_TOOLBOX is enabled, please also enable GTSAM_BUILD_WRAP" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if ( GTSAM_INSTALL_WRAP  AND  NOT  GTSAM_BUILD_WRAP ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									message ( FATAL_ERROR  "GTSAM_INSTALL_WRAP is enabled, please also enable GTSAM_BUILD_WRAP" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-11 00:47:02 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Flags for choosing default packaging tools
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_SOURCE_GENERATOR  "TGZ"  CACHE  STRING  "CPack Default Source Generator" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_GENERATOR         "TGZ"  CACHE  STRING  "CPack Default Binary Generator" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Sanity check building of libraries
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  ( NOT  GTSAM_BUILD_SHARED_LIBRARY  AND  NOT  GTSAM_BUILD_STATIC_LIBRARY ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    message ( FATAL_ERROR  "Both shared and static version of GTSAM library disabled - need to choose at least one!" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-06-06 01:20:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Flags to determine whether tests and examples are build during 'make install'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Note that these remove the targets from the 'all'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								option ( GTSAM_DISABLE_TESTS_ON_INSTALL  "Disables building tests during install"  ON ) 
  
						 
					
						
							
								
									
										
										
										
											2012-07-14 05:54:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								option ( GTSAM_DISABLE_EXAMPLES_ON_INSTALL  "Disables building examples during install"  OFF ) 
  
						 
					
						
							
								
									
										
										
										
											2012-05-02 00:24:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-02-24 23:53:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Pull in infrastructure
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  ( GTSAM_BUILD_TESTS ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    enable_testing ( ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    include ( Dart ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    include ( CTest ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-10-09 06:40:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								###############################################################################
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:21 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Find boost
  
						 
					
						
							
								
									
										
										
										
											2013-02-05 05:28:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# If using Boost shared libs, set up auto linking for shared libs
  
						 
					
						
							
								
									
										
										
										
											2013-06-04 21:37:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if ( MSVC  AND  NOT  Boost_USE_STATIC_LIBS ) 
  
						 
					
						
							
								
									
										
										
										
											2013-02-05 05:28:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add_definitions ( -DBOOST_ALL_DYN_LINK ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2012-05-23 04:37:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
									
										
										
										
											2013-08-02 05:57:43 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								add_definitions ( -DBOOST_ALL_NO_LIB ) 
  
						 
					
						
							
								
									
										
										
										
											2012-10-04 01:36:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-08-01 02:53:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								find_package ( Boost  1.43  COMPONENTS  serialization  system  filesystem  thread  program_options  date_time  regex  timer  chrono ) 
  
						 
					
						
							
								
									
										
										
										
											2012-10-04 01:36:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-10-09 06:40:55 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Required components
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if ( NOT  Boost_SERIALIZATION_LIBRARY  OR  NOT  Boost_SYSTEM_LIBRARY  OR  NOT  Boost_FILESYSTEM_LIBRARY  OR  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    N O T  B o o s t _ T H R E A D _ L I B R A R Y  O R  N O T  B o o s t _ D A T E _ T I M E _ L I B R A R Y  O R  N O T  B o o s t _ R E G E X _ L I B R A R Y ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  message ( FATAL_ERROR  "Missing required Boost components >= v1.43, please install/upgrade Boost or configure your search paths." ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
									
										
										
										
											2012-10-04 01:36:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-02-15 04:42:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								option ( GTSAM_DISABLE_NEW_TIMERS  "Disables using Boost.chrono for timing"  OFF ) 
  
						 
					
						
							
								
									
										
										
										
											2012-10-09 06:40:55 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Allow for not using the timer libraries on boost < 1.48 (GTSAM timing code falls back to old timer library)
  
						 
					
						
							
								
									
										
										
										
											2013-08-02 05:57:43 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set ( GTSAM_BOOST_LIBRARIES  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $ { B o o s t _ S E R I A L I Z A T I O N _ L I B R A R Y }  $ { B o o s t _ S Y S T E M _ L I B R A R Y }  $ { B o o s t _ F I L E S Y S T E M _ L I B R A R Y } 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									$ { B o o s t _ T H R E A D _ L I B R A R Y }  $ { B o o s t _ D A T E _ T I M E _ L I B R A R Y }  $ { B o o s t _ R E G E X _ L I B R A R Y } ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2013-02-15 04:42:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  ( GTSAM_DISABLE_NEW_TIMERS ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    message ( "WARNING:  GTSAM timing instrumentation manually disabled" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    add_definitions ( -DGTSAM_DISABLE_NEW_TIMERS ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2012-10-09 06:40:55 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								else ( ) 
  
						 
					
						
							
								
									
										
										
										
											2013-02-15 04:42:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if ( Boost_TIMER_LIBRARY ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-09 23:43:55 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      list ( APPEND  GTSAM_BOOST_LIBRARIES  ${ Boost_TIMER_LIBRARY }  ${ Boost_CHRONO_LIBRARY } ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2013-02-15 04:42:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else ( ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-02 05:57:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      message ( "WARNING:  GTSAM timing instrumentation will use the older, less accurate, Boost timer library because boost older than 1.48 was found." ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2013-02-15 04:42:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    endif ( ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2012-10-09 06:40:55 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:21 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-10-09 06:40:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-04-26 00:32:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								###############################################################################
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Option for using system Eigen or GTSAM-bundled Eigen
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								option ( GTSAM_USE_SYSTEM_EIGEN  "Find and use system-installed Eigen. If 'off', use the one bundled with GTSAM"  OFF ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Switch for using system Eigen or GTSAM-bundled Eigen
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if ( GTSAM_USE_SYSTEM_EIGEN ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									# Use generic Eigen include paths e.g. <Eigen/Core>
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									set ( GTSAM_EIGEN_INCLUDE_PREFIX  "" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									find_package ( Eigen3  REQUIRED ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2013-04-26 03:12:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									include_directories ( AFTER  "${EIGEN3_INCLUDE_DIR}" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2013-04-26 00:32:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								else ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									# Use bundled Eigen include paths e.g. <gtsam/3rdparty/Eigen/Eigen/Core>
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									set ( GTSAM_EIGEN_INCLUDE_PREFIX  "gtsam/3rdparty/Eigen/" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									# Clear any variables set by FindEigen3
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( EIGEN3_INCLUDE_DIR ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2013-04-26 03:12:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										set ( EIGEN3_INCLUDE_DIR  NOTFOUND  CACHE  STRING  ""  FORCE ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2013-04-26 00:32:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									endif ( ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Write Eigen include file with the paths for either the system Eigen or the GTSAM-bundled Eigen
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								configure_file ( gtsam/3rdparty/gtsam_eigen_includes.h.in  gtsam/3rdparty/gtsam_eigen_includes.h ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-04-26 02:40:21 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Install the configuration file for Eigen
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								install ( FILES  ${ CMAKE_BINARY_DIR } /gtsam/3rdparty/gtsam_eigen_includes.h  DESTINATION  include/gtsam/3rdparty ) 
  
						 
					
						
							
								
									
										
										
										
											2013-04-26 00:32:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-02-15 04:42:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-10 01:50:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								###############################################################################
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Find TBB
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( ENV{TBB_ARCH_PLATFORM}  "intel64/vc11" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( ENV{TBB_BIN_DIR}  "C:/Program Files/Intel/TBB/bin" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( ENV{TBB_TARGET_ARCH}  intel64 ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( ENV{TBB_TARGET_VS}  vc11 ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								find_package ( TBB  REQUIRED ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( TBB_LIBS  "" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								foreach ( lib  ${ TBB_LIBRARIES } ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									list ( APPEND  TBB_LIBS  optimized  "${lib}" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endforeach ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								foreach ( lib  ${ TBB_DEBUG_LIBRARIES } ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									list ( APPEND  TBB_LIBS  debug  "${lib}" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endforeach ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-10-09 06:40:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								###############################################################################
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Global compile options
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-07-09 23:43:55 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Include boost - use 'BEFORE' so that a specific boost specified to CMake
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# takes precedence over a system-installed one.
  
						 
					
						
							
								
									
										
										
										
											2013-07-10 01:54:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								include_directories ( BEFORE  ${ TBB_INCLUDE_DIRS }  ${ Boost_INCLUDE_DIR } ) 
  
						 
					
						
							
								
									
										
										
										
											2013-07-09 23:43:55 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Add includes for source directories 'BEFORE' boost and any system include
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# paths so that the compiler uses GTSAM headers in our source directory instead
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# of any previously installed GTSAM headers.
  
						 
					
						
							
								
									
										
										
										
											2013-04-26 00:32:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								include_directories ( BEFORE  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:21 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  g t s a m / 3 r d p a r t y / U F c o n f i g  
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  g t s a m / 3 r d p a r t y / C C O L A M D / I n c l u d e 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $ { C M A K E _ S O U R C E _ D I R } 
 
							 
						 
					
						
							
								
									
										
										
										
											2013-04-25 23:57:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  $ { C M A K E _ B I N A R Y _ D I R }  # So we can include generated config header files
 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-09 23:43:55 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  C p p U n i t L i t e ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-04-06 05:34:04 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if ( MSVC ) 
  
						 
					
						
							
								
									
										
										
										
											2013-04-19 01:41:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add_definitions ( -D_CRT_SECURE_NO_WARNINGS  -D_SCL_SECURE_NO_WARNINGS ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2013-07-10 01:54:08 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add_definitions ( /wd4251  /wd4275  /wd4251  /wd4661 )  # Disable non-DLL-exported base class and other warnings
 
							 
						 
					
						
							
								
									
										
										
										
											2013-04-06 05:34:04 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-05-21 22:18:01 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if ( GTSAM_ENABLE_CONSISTENCY_CHECKS ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  add_definitions ( -DGTSAM_EXTRA_CONSISTENCY_CHECKS ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( )    
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if ( GTSAM_POSE3_EXPMAP ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  add_definitions ( -DGTSAM_POSE3_EXPMAP ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
									
										
										
										
											2012-10-09 06:40:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								###############################################################################
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Add components
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-03-14 02:17:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Set default library - static or shared, before adding subdirectories
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if ( GTSAM_BUILD_SHARED_LIBRARY ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									set ( gtsam-default  gtsam-shared ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( GTSAM_BUILD_UNSTABLE ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										set ( gtsam_unstable-default  gtsam_unstable-shared ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									endif ( ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								else ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									set ( gtsam-default  gtsam-static ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( GTSAM_BUILD_UNSTABLE ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										set ( gtsam_unstable-default  gtsam_unstable-static ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									endif ( ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# Build CppUnitLite
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								add_subdirectory ( CppUnitLite ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-06-06 02:05:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Build wrap
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  ( GTSAM_BUILD_WRAP ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    add_subdirectory ( wrap ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( GTSAM_BUILD_WRAP ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-31 13:28:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Build GTSAM library
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								add_subdirectory ( gtsam ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# Build Tests
  
						 
					
						
							
								
									
										
										
										
											2012-01-31 13:28:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								add_subdirectory ( tests ) 
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Build examples
  
						 
					
						
							
								
									
										
										
										
											2012-02-01 03:59:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  ( GTSAM_BUILD_EXAMPLES ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    add_subdirectory ( examples ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( GTSAM_BUILD_EXAMPLES ) 
  
						 
					
						
							
								
									
										
										
										
											2012-02-29 06:43:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-06-08 04:09:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Matlab toolbox
  
						 
					
						
							
								
									
										
										
										
											2012-07-14 05:54:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  ( GTSAM_INSTALL_MATLAB_TOOLBOX ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									add_subdirectory ( matlab ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
									
										
										
										
											2012-06-08 04:09:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-05-04 01:03:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Build gtsam_unstable
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  ( GTSAM_BUILD_UNSTABLE ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    add_subdirectory ( gtsam_unstable ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( GTSAM_BUILD_UNSTABLE ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-06-20 06:06:40 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Install config and export files
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								GtsamMakeConfigFile ( GTSAM ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								export ( TARGETS  ${ GTSAM_EXPORTED_TARGETS }  FILE  GTSAM-exports.cmake ) 
  
						 
					
						
							
								
									
										
										
										
											2012-05-22 07:38:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-07-22 04:05:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Check for doxygen availability - optional dependency
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								find_package ( Doxygen ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Doxygen documentation - enabling options in subfolder
  
						 
					
						
							
								
									
										
										
										
											2012-07-15 05:39:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  ( DOXYGEN_FOUND ) 
  
						 
					
						
							
								
									
										
										
										
											2012-07-22 04:05:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    add_subdirectory ( doc ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
									
										
										
										
											2012-07-15 05:39:58 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-10-09 06:40:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								###############################################################################
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Set up CPack
  
						 
					
						
							
								
									
										
										
										
											2012-04-11 00:47:02 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY  "GTSAM" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_PACKAGE_VENDOR  "Frank Dellaert, Georgia Institute of Technology" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_PACKAGE_CONTACT  "Frank Dellaert, dellaert@cc.gatech.edu" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_PACKAGE_DESCRIPTION_FILE  "${CMAKE_CURRENT_SOURCE_DIR}/README" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_RESOURCE_FILE_LICENSE  "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_PACKAGE_VERSION_MAJOR  ${ GTSAM_VERSION_MAJOR } ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_PACKAGE_VERSION_MINOR  ${ GTSAM_VERSION_MINOR } ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_PACKAGE_VERSION_PATCH  ${ GTSAM_VERSION_PATCH } ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_PACKAGE_INSTALL_DIRECTORY  "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}" ) 
  
						 
					
						
							
								
									
										
										
										
											2012-09-01 03:22:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#set(CPACK_INSTALLED_DIRECTORIES "doc;.") # Include doc directory
  
						 
					
						
							
								
									
										
										
										
											2012-09-03 11:06:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#set(CPACK_INSTALLED_DIRECTORIES ".") # FIXME: throws error
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_SOURCE_IGNORE_FILES  "/build*;/\\\\.;/makestats.sh$" ) 
  
						 
					
						
							
								
									
										
										
										
											2012-06-08 21:30:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set ( CPACK_SOURCE_IGNORE_FILES  "${CPACK_SOURCE_IGNORE_FILES}"  "/gtsam_unstable/" ) 
  
						 
					
						
							
								
									
										
										
										
											2012-09-04 02:32:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set ( CPACK_SOURCE_IGNORE_FILES  "${CPACK_SOURCE_IGNORE_FILES}"  "/package_scripts/" ) 
  
						 
					
						
							
								
									
										
										
										
											2012-04-11 00:47:02 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set ( CPACK_SOURCE_PACKAGE_FILE_NAME  "gtsam-${GTSAM_VERSION_MAJOR}.${GTSAM_VERSION_MINOR}.${GTSAM_VERSION_PATCH}" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#set(CPACK_SOURCE_PACKAGE_FILE_NAME "gtsam-aspn${GTSAM_VERSION_PATCH}") # Used for creating ASPN tarballs
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-09-03 11:06:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Deb-package specific cpack
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_DEBIAN_PACKAGE_NAME  "libgtsam-dev" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_DEBIAN_PACKAGE_DEPENDS  "libboost-dev (>= 1.43)" )  #Example: "libc6 (>= 2.3.1-6), libgcc1 (>= 1:3.4.2-12)")
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-10-09 06:40:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								###############################################################################
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Print configuration variables
  
						 
					
						
							
								
									
										
										
										
											2012-02-29 12:11:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								message ( STATUS  "===============================================================" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( STATUS  "================  Configuration Options  ======================" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( STATUS  "Build flags                                               " ) 
  
						 
					
						
							
								
									
										
										
										
											2012-10-03 02:36:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_BUILD_TIMING }                 "Build Timing scripts           " ) 
  
						 
					
						
							
								
									
										
										
										
											2012-05-02 00:24:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_BUILD_EXAMPLES }               "Build Examples                 " ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_BUILD_TESTS }                  "Build Tests                    " ) 
  
						 
					
						
							
								
									
										
										
										
											2012-07-15 05:39:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  ( DOXYGEN_FOUND ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    print_config_flag ( ${ GTSAM_BUILD_DOCS }                   "Build Docs                     " ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
									
										
										
										
											2013-07-02 04:20:14 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_BUILD_SHARED_LIBRARY }         "Build shared GTSAM Library     " ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_BUILD_STATIC_LIBRARY }         "Build static GTSAM Library     " ) 
  
						 
					
						
							
								
									
										
										
										
											2012-07-14 05:54:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if ( NOT  MSVC ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									print_config_flag ( ${ GTSAM_BUILD_CONVENIENCE_LIBRARIES }  "Build Convenience Libraries    " ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
									
										
										
										
											2012-06-29 00:12:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_BUILD_TYPE_POSTFIXES }         "Put build-type in library name " ) 
  
						 
					
						
							
								
									
										
										
										
											2012-05-15 13:12:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if ( GTSAM_UNSTABLE_AVAILABLE ) 
  
						 
					
						
							
								
									
										
										
										
											2012-06-06 01:20:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    print_config_flag ( ${ GTSAM_BUILD_UNSTABLE }            "Build libgtsam_unstable       " ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2012-05-15 13:12:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
									
										
										
										
											2012-06-06 01:20:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_DISABLE_TESTS_ON_INSTALL }      "Tests excluded from all/install target " ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_DISABLE_EXAMPLES_ON_INSTALL }   "Examples excluded from all/install target " ) 
  
						 
					
						
							
								
									
										
										
										
											2012-03-08 04:14:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								string ( TOUPPER  "${CMAKE_BUILD_TYPE}"  cmake_build_type_toupper ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( STATUS                                        "  Build type                 : ${CMAKE_BUILD_TYPE}" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( STATUS                                        "  C compilation flags        : ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${cmake_build_type_toupper}}" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( STATUS                                        "  C++ compilation flags      : ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${cmake_build_type_toupper}}" ) 
  
						 
					
						
							
								
									
										
										
										
											2012-02-29 12:11:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-11 00:47:02 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								message ( STATUS  "Packaging flags                                               " ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( STATUS                                        "  CPack Source Generator     : ${CPACK_SOURCE_GENERATOR}" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( STATUS                                        "  CPack Generator            : ${CPACK_GENERATOR}" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-02-29 12:11:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								message ( STATUS  "GTSAM flags                                               " ) 
  
						 
					
						
							
								
									
										
										
										
											2013-05-21 22:18:01 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_USE_QUATERNIONS }              "Quaternions as default Rot3                   " ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_ENABLE_CONSISTENCY_CHECKS }    "Runtime consistency checking                  " ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_POSE3_EXPMAP }                 "Using full expmap as defaul retract for Pose3 " ) 
  
						 
					
						
							
								
									
										
										
										
											2012-02-29 12:11:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( STATUS  "MATLAB toolbox flags                                      " ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_INSTALL_MATLAB_TOOLBOX }       "Install matlab toolbox     " ) 
  
						 
					
						
							
								
									
										
										
										
											2012-07-14 05:54:52 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_BUILD_WRAP }                   "Build Wrap                 " ) 
  
						 
					
						
							
								
									
										
										
										
											2012-02-29 12:11:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								print_config_flag ( ${ GTSAM_INSTALL_WRAP }                 "Install wrap utility       " ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( STATUS  "===============================================================" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-04-11 00:47:02 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Include CPack *after* all flags
  
						 
					
						
							
								
									
										
										
										
											2012-02-29 06:43:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								include ( CPack )