Tweaking build scripts for visual studio
							parent
							
								
									edc4ffa683
								
							
						
					
					
						commit
						7cdd8e19da
					
				| 
						 | 
				
			
			@ -52,10 +52,18 @@ if(GTSAM_UNSTABLE_AVAILABLE)
 | 
			
		|||
    option(GTSAM_BUILD_UNSTABLE              "Enable/Disable libgtsam_unstable"          OFF)
 | 
			
		||||
endif()
 | 
			
		||||
option(GTSAM_BUILD_WRAP                  "Enable/Disable building of matlab wrap utility (necessary for matlab interface)" ON)
 | 
			
		||||
option(GTSAM_BUILD_SHARED_LIBRARY        "Enable/Disable building of a shared version of gtsam" ON)
 | 
			
		||||
if(MSVC)
 | 
			
		||||
  option(GTSAM_BUILD_SHARED_LIBRARY        "Enable/Disable building of a shared version of gtsam" OFF)
 | 
			
		||||
else()
 | 
			
		||||
  option(GTSAM_BUILD_SHARED_LIBRARY        "Enable/Disable building of a shared version of gtsam" ON)
 | 
			
		||||
endif()
 | 
			
		||||
option(GTSAM_BUILD_STATIC_LIBRARY        "Enable/Disable building of a static version of gtsam" ON)
 | 
			
		||||
option(GTSAM_USE_QUATERNIONS             "Enable/Disable using an internal Quaternion representation for rotations instead of rotation matrices" OFF)
 | 
			
		||||
option(GTSAM_BUILD_CONVENIENCE_LIBRARIES "Enable/Disable use of convenience libraries for faster development rebuilds, but slower install" ON)
 | 
			
		||||
if(MSVC)
 | 
			
		||||
  option(GTSAM_BUILD_CONVENIENCE_LIBRARIES "Enable/Disable use of convenience libraries for faster development rebuilds, but slower install" OFF)
 | 
			
		||||
else()
 | 
			
		||||
  option(GTSAM_BUILD_CONVENIENCE_LIBRARIES "Enable/Disable use of convenience libraries for faster development rebuilds, but slower install" ON)
 | 
			
		||||
endif()
 | 
			
		||||
option(GTSAM_INSTALL_MATLAB_TOOLBOX      "Enable/Disable installation of matlab toolbox"  ON)
 | 
			
		||||
option(GTSAM_INSTALL_MATLAB_EXAMPLES     "Enable/Disable installation of matlab examples" ON)
 | 
			
		||||
option(GTSAM_INSTALL_MATLAB_TESTS        "Enable/Disable installation of matlab tests"    ON)
 | 
			
		||||
| 
						 | 
				
			
			@ -97,7 +105,7 @@ endif()
 | 
			
		|||
if(MSVC)
 | 
			
		||||
  set(Boost_USE_STATIC_LIBS 1)
 | 
			
		||||
endif()
 | 
			
		||||
find_package(Boost 1.40 COMPONENTS serialization REQUIRED)
 | 
			
		||||
find_package(Boost 1.40 COMPONENTS serialization system chrono REQUIRED)
 | 
			
		||||
 | 
			
		||||
# General build settings
 | 
			
		||||
include_directories(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,7 +15,9 @@ foreach(example_src ${example_srcs} )
 | 
			
		|||
    endif()
 | 
			
		||||
    
 | 
			
		||||
    target_link_libraries(${example_bin} gtsam-static)
 | 
			
		||||
    add_custom_target(${example_bin}.run ${EXECUTABLE_OUTPUT_PATH}${example_bin} ${ARGN})
 | 
			
		||||
	if(NOT MSVC)
 | 
			
		||||
      add_custom_target(${example_bin}.run ${EXECUTABLE_OUTPUT_PATH}${example_bin} ${ARGN})
 | 
			
		||||
	endif()
 | 
			
		||||
endforeach(example_src)
 | 
			
		||||
 | 
			
		||||
add_subdirectory(vSLAMexample)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,6 +46,8 @@ endif()
 | 
			
		|||
foreach(subdir ${gtsam_subdirs})
 | 
			
		||||
    # Build convenience libraries
 | 
			
		||||
    file(GLOB subdir_srcs "${subdir}/*.cpp")
 | 
			
		||||
    file(GLOB subdir_headers "${subdir}/*.h")
 | 
			
		||||
    set(subdir_srcs ${subdir_srcs} ${subdir_headers}) # Include header files so they show up in Visual Studio
 | 
			
		||||
    list(REMOVE_ITEM subdir_srcs ${excluded_sources})
 | 
			
		||||
    set(${subdir}_srcs ${subdir_srcs})
 | 
			
		||||
    if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
 | 
			
		||||
| 
						 | 
				
			
			@ -71,7 +73,11 @@ set(gtsam_srcs
 | 
			
		|||
    ${slam_srcs}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
#gtsam_assign_source_folders("${gtsam_srcs}")
 | 
			
		||||
# Create MSVC structure
 | 
			
		||||
file(GLOB_RECURSE all_c_srcs "*.c")
 | 
			
		||||
file(GLOB_RECURSE all_cpp_srcs "*.cpp")
 | 
			
		||||
file(GLOB_RECURSE all_headers "*.h")
 | 
			
		||||
gtsam_assign_source_folders("${all_c_srcs};${all_cpp_srcs};${all_headers}")
 | 
			
		||||
 | 
			
		||||
# Versions
 | 
			
		||||
set(gtsam_version   ${GTSAM_VERSION_MAJOR}.${GTSAM_VERSION_MINOR}.${GTSAM_VERSION_PATCH})
 | 
			
		||||
| 
						 | 
				
			
			@ -83,6 +89,7 @@ message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}")
 | 
			
		|||
if (GTSAM_BUILD_STATIC_LIBRARY)
 | 
			
		||||
    message(STATUS "Building GTSAM - static")
 | 
			
		||||
    add_library(gtsam-static STATIC ${gtsam_srcs})
 | 
			
		||||
	target_link_libraries(gtsam-static ${Boost_LIBRARIES})
 | 
			
		||||
    set_target_properties(gtsam-static PROPERTIES 
 | 
			
		||||
        OUTPUT_NAME         gtsam
 | 
			
		||||
        CLEAN_DIRECT_OUTPUT 1
 | 
			
		||||
| 
						 | 
				
			
			@ -94,6 +101,7 @@ endif (GTSAM_BUILD_STATIC_LIBRARY)
 | 
			
		|||
if (GTSAM_BUILD_SHARED_LIBRARY)
 | 
			
		||||
    message(STATUS "Building GTSAM - shared")
 | 
			
		||||
    add_library(gtsam-shared SHARED ${gtsam_srcs})
 | 
			
		||||
	target_link_libraries(gtsam-shared ${Boost_LIBRARIES})
 | 
			
		||||
    set_target_properties(gtsam-shared PROPERTIES 
 | 
			
		||||
        OUTPUT_NAME         gtsam
 | 
			
		||||
        CLEAN_DIRECT_OUTPUT 1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,10 @@ if (GTSAM_BUILD_TESTS)
 | 
			
		|||
    gtsam_add_subdir_tests(slam "${slam_local_libs}" "gtsam-static" "${slam_excluded_files}") 
 | 
			
		||||
endif(GTSAM_BUILD_TESTS)
 | 
			
		||||
 | 
			
		||||
if(MSVC)
 | 
			
		||||
  add_definitions("/bigobj")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# Build timing scripts
 | 
			
		||||
if (GTSAM_BUILD_TIMING)
 | 
			
		||||
    gtsam_add_subdir_timing(slam "${slam_local_libs}" "gtsam-static" "${slam_excluded_files}") 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue