Changes to get gtsam to compile in Windows
parent
c6449a82d4
commit
2cf4514e81
|
@ -179,20 +179,18 @@ option(GTSAM_DISABLE_NEW_TIMERS "Disables using Boost.chrono for timing" OFF)
|
||||||
# so we downgraded this to classic filenames-based variables, and manually adding
|
# so we downgraded this to classic filenames-based variables, and manually adding
|
||||||
# the target_include_directories(xxx ${Boost_INCLUDE_DIR})
|
# the target_include_directories(xxx ${Boost_INCLUDE_DIR})
|
||||||
set(GTSAM_BOOST_LIBRARIES
|
set(GTSAM_BOOST_LIBRARIES
|
||||||
optimized
|
optimized ${Boost_SERIALIZATION_LIBRARY_RELEASE}
|
||||||
${Boost_SERIALIZATION_LIBRARY_RELEASE}
|
optimized ${Boost_SYSTEM_LIBRARY_RELEASE}
|
||||||
${Boost_SYSTEM_LIBRARY_RELEASE}
|
optimized ${Boost_FILESYSTEM_LIBRARY_RELEASE}
|
||||||
${Boost_FILESYSTEM_LIBRARY_RELEASE}
|
optimized ${Boost_THREAD_LIBRARY_RELEASE}
|
||||||
${Boost_THREAD_LIBRARY_RELEASE}
|
optimized ${Boost_DATE_TIME_LIBRARY_RELEASE}
|
||||||
${Boost_DATE_TIME_LIBRARY_RELEASE}
|
optimized ${Boost_REGEX_LIBRARY_RELEASE}
|
||||||
${Boost_REGEX_LIBRARY_RELEASE}
|
debug ${Boost_SERIALIZATION_LIBRARY_DEBUG}
|
||||||
debug
|
debug ${Boost_SYSTEM_LIBRARY_DEBUG}
|
||||||
${Boost_SERIALIZATION_LIBRARY_DEBUG}
|
debug ${Boost_FILESYSTEM_LIBRARY_DEBUG}
|
||||||
${Boost_SYSTEM_LIBRARY_DEBUG}
|
debug ${Boost_THREAD_LIBRARY_DEBUG}
|
||||||
${Boost_FILESYSTEM_LIBRARY_DEBUG}
|
debug ${Boost_DATE_TIME_LIBRARY_DEBUG}
|
||||||
${Boost_THREAD_LIBRARY_DEBUG}
|
debug ${Boost_REGEX_LIBRARY_DEBUG}
|
||||||
${Boost_DATE_TIME_LIBRARY_DEBUG}
|
|
||||||
${Boost_REGEX_LIBRARY_DEBUG}
|
|
||||||
)
|
)
|
||||||
message(STATUS "GTSAM_BOOST_LIBRARIES: ${GTSAM_BOOST_LIBRARIES}")
|
message(STATUS "GTSAM_BOOST_LIBRARIES: ${GTSAM_BOOST_LIBRARIES}")
|
||||||
if (GTSAM_DISABLE_NEW_TIMERS)
|
if (GTSAM_DISABLE_NEW_TIMERS)
|
||||||
|
@ -201,12 +199,10 @@ if (GTSAM_DISABLE_NEW_TIMERS)
|
||||||
else()
|
else()
|
||||||
if(Boost_TIMER_LIBRARY)
|
if(Boost_TIMER_LIBRARY)
|
||||||
list(APPEND GTSAM_BOOST_LIBRARIES
|
list(APPEND GTSAM_BOOST_LIBRARIES
|
||||||
optimized
|
optimized ${Boost_TIMER_LIBRARY_RELEASE}
|
||||||
${Boost_TIMER_LIBRARY_RELEASE}
|
optimized ${Boost_CHRONO_LIBRARY_RELEASE}
|
||||||
${Boost_CHRONO_LIBRARY_RELEASE}
|
debug ${Boost_TIMER_LIBRARY_DEBUG}
|
||||||
debug
|
debug ${Boost_CHRONO_LIBRARY_DEBUG}
|
||||||
${Boost_TIMER_LIBRARY_DEBUG}
|
|
||||||
${Boost_CHRONO_LIBRARY_DEBUG}
|
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
list(APPEND GTSAM_BOOST_LIBRARIES rt) # When using the header-only boost timer library, need -lrt
|
list(APPEND GTSAM_BOOST_LIBRARIES rt) # When using the header-only boost timer library, need -lrt
|
||||||
|
|
|
@ -35,7 +35,11 @@ mark_as_advanced(FORCE MEX_COMMAND)
|
||||||
# Now that we have mex, trace back to find the Matlab installation root
|
# Now that we have mex, trace back to find the Matlab installation root
|
||||||
get_filename_component(MEX_COMMAND "${MEX_COMMAND}" REALPATH)
|
get_filename_component(MEX_COMMAND "${MEX_COMMAND}" REALPATH)
|
||||||
get_filename_component(mex_path "${MEX_COMMAND}" PATH)
|
get_filename_component(mex_path "${MEX_COMMAND}" PATH)
|
||||||
get_filename_component(MATLAB_ROOT "${mex_path}/.." ABSOLUTE)
|
if(mex_path MATCHES ".*/win64$")
|
||||||
|
get_filename_component(MATLAB_ROOT "${mex_path}/../.." ABSOLUTE)
|
||||||
|
else()
|
||||||
|
get_filename_component(MATLAB_ROOT "${mex_path}/.." ABSOLUTE)
|
||||||
|
endif()
|
||||||
set(MATLAB_ROOT "${MATLAB_ROOT}" CACHE PATH "Path to MATLAB installation root (e.g. /usr/local/MATLAB/R2012a)")
|
set(MATLAB_ROOT "${MATLAB_ROOT}" CACHE PATH "Path to MATLAB installation root (e.g. /usr/local/MATLAB/R2012a)")
|
||||||
|
|
||||||
|
|
||||||
|
@ -99,7 +103,7 @@ function(wrap_library_internal interfaceHeader linkLibraries extraIncludeDirs ex
|
||||||
message(STATUS "Building wrap module ${moduleName}")
|
message(STATUS "Building wrap module ${moduleName}")
|
||||||
|
|
||||||
# Find matlab.h in GTSAM
|
# Find matlab.h in GTSAM
|
||||||
if("${PROJECT_NAME}" STREQUAL "GTSAM")
|
if("${PROJECT_NAME}" STREQUAL "gtsam")
|
||||||
set(matlab_h_path "${PROJECT_SOURCE_DIR}")
|
set(matlab_h_path "${PROJECT_SOURCE_DIR}")
|
||||||
else()
|
else()
|
||||||
if(NOT GTSAM_INCLUDE_DIR)
|
if(NOT GTSAM_INCLUDE_DIR)
|
||||||
|
@ -115,14 +119,15 @@ function(wrap_library_internal interfaceHeader linkLibraries extraIncludeDirs ex
|
||||||
set(automaticDependencies "")
|
set(automaticDependencies "")
|
||||||
foreach(lib ${moduleName} ${linkLibraries})
|
foreach(lib ${moduleName} ${linkLibraries})
|
||||||
#message("MODULE NAME: ${moduleName}")
|
#message("MODULE NAME: ${moduleName}")
|
||||||
|
#message("lib: ${lib}")
|
||||||
if(TARGET "${lib}")
|
if(TARGET "${lib}")
|
||||||
get_target_property(dependentLibraries ${lib} INTERFACE_LINK_LIBRARIES)
|
get_target_property(dependentLibraries ${lib} INTERFACE_LINK_LIBRARIES)
|
||||||
# message("DEPENDENT LIBRARIES: ${dependentLibraries}")
|
#message("DEPENDENT LIBRARIES: ${dependentLibraries}")
|
||||||
if(dependentLibraries)
|
if(dependentLibraries)
|
||||||
list(APPEND automaticDependencies ${dependentLibraries})
|
list(APPEND automaticDependencies ${dependentLibraries})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
## CHRIS: Temporary fix. On my system the get_target_property above returned Not-found for gtsam module
|
## CHRIS: Temporary fix. On my system the get_target_property above returned Not-found for gtsam module
|
||||||
## This needs to be fixed!!
|
## This needs to be fixed!!
|
||||||
|
|
|
@ -18,6 +18,10 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
//Needed if windows.h is included somehow.
|
||||||
|
//It defines min and max, which conflicts with numeric_limits::max()
|
||||||
|
#define NOMINMAX
|
||||||
|
|
||||||
#include <gtsam/geometry/BearingRange.h>
|
#include <gtsam/geometry/BearingRange.h>
|
||||||
#include <gtsam/geometry/Point2.h>
|
#include <gtsam/geometry/Point2.h>
|
||||||
#include <gtsam/geometry/Pose3.h>
|
#include <gtsam/geometry/Pose3.h>
|
||||||
|
@ -29,8 +33,7 @@
|
||||||
|
|
||||||
namespace gtsam {
|
namespace gtsam {
|
||||||
|
|
||||||
class GTSAM_EXPORT CheiralityException: public ThreadsafeException<
|
class GTSAM_EXPORT CheiralityException: public ThreadsafeException<CheiralityException> {
|
||||||
CheiralityException> {
|
|
||||||
public:
|
public:
|
||||||
CheiralityException()
|
CheiralityException()
|
||||||
: CheiralityException(std::numeric_limits<Key>::max()) {}
|
: CheiralityException(std::numeric_limits<Key>::max()) {}
|
||||||
|
|
Loading…
Reference in New Issue