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 ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Set the version number for the libarary
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								set  ( GTSAM_VERSION_MAJOR  0 ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  ( GTSAM_VERSION_MINOR  9 ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  ( GTSAM_VERSION_PATCH  3 ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# guard against in-source builds
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if ( ${ CMAKE_SOURCE_DIR }  STREQUAL  ${ CMAKE_BINARY_DIR } ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  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 ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# guard against bad build-type strings
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  ( NOT  CMAKE_BUILD_TYPE ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  set ( CMAKE_BUILD_TYPE  "Debug" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								string ( TOLOWER  "${CMAKE_BUILD_TYPE}"  cmake_build_type_tolower ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if (     NOT  cmake_build_type_tolower  STREQUAL  "debug"  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   A N D  N O T  c m a k e _ b u i l d _ t y p e _ t o l o w e r  S T R E Q U A L  " r e l e a s e " 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   A N D  N O T  c m a k e _ b u i l d _ t y p e _ t o l o w e r  S T R E Q U A L  " r e l w i t h d e b i n f o " ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  message ( FATAL_ERROR  "Unknown build type \" ${ CMAKE_BUILD_TYPE } \".  Allowed  values  are  Debug,  Release,  RelWithDebInfo  ( case-insensitive ) . " ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-31 13:28:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Add debugging flags
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CMAKE_CXX_FLAGS_DEBUG           "${CMAKE_CXX_FLAGS_DEBUG} -fno-inline -Wall" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CMAKE_CXX_FLAGS_RELWITHDEBINFO  "-g -fno-inline -Wall -DNDEBUG" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CMAKE_CXX_FLAGS_RELEASE         "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG -Wall" ) 
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Configurable Options
  
						 
					
						
							
								
									
										
										
										
											2012-01-31 13:18:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# TODO
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Pull in tests
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:23 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								enable_testing ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								include ( Dart ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								include ( CTest ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Enable make check (http://www.cmake.org/Wiki/CMakeEmulateMakeCheck)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								add_custom_target ( check  COMMAND  ${ CMAKE_CTEST_COMMAND } ) 
  
						 
					
						
							
								
									
										
										
										
											2011-12-16 00:17:58 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								add_custom_target ( timing ) 
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:21 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Find boost
  
						 
					
						
							
								
									
										
										
										
											2012-01-31 13:28:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								find_package ( Boost  1.40  COMPONENTS  serialization  REQUIRED ) 
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:21 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# General build settings
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:21 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								include_directories (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  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 } 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  C p p U n i t L i t e 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  $ { B O O S T _ I N C L U D E _ D I R } ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								link_directories ( ${ Boost_LIBRARY_DIRS } ) 
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Build CppUnitLite
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								add_subdirectory ( CppUnitLite ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											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 wrap
  
						 
					
						
							
								
									
										
										
										
											2012-01-31 13:28:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								add_subdirectory ( wrap ) 
  
						 
					
						
							
								
									
										
										
										
											2011-12-14 10:24:18 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Build examples
  
						 
					
						
							
								
									
										
										
										
											2012-01-31 13:28:02 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								add_subdirectory ( examples )