Added more cmake functionality
parent
df0751ac56
commit
099ab88b5d
31
.cproject
31
.cproject
|
@ -1617,6 +1617,37 @@
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
</target>
|
</target>
|
||||||
|
<target name="cmake" path="build_cmake" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
<buildCommand>cmake</buildCommand>
|
||||||
|
<buildArguments>..</buildArguments>
|
||||||
|
<stopOnError>true</stopOnError>
|
||||||
|
<useDefaultCommand>false</useDefaultCommand>
|
||||||
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
</target>
|
||||||
|
<target name="all" path="build_cmake" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
<buildCommand>make</buildCommand>
|
||||||
|
<buildArguments>-j2 VERBOSE=1</buildArguments>
|
||||||
|
<buildTarget>all</buildTarget>
|
||||||
|
<stopOnError>true</stopOnError>
|
||||||
|
<useDefaultCommand>false</useDefaultCommand>
|
||||||
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
</target>
|
||||||
|
<target name="all j5" path="build_cmake" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
<buildCommand>make</buildCommand>
|
||||||
|
<buildArguments>-j5 VERBOSE=1</buildArguments>
|
||||||
|
<buildTarget>all</buildTarget>
|
||||||
|
<stopOnError>true</stopOnError>
|
||||||
|
<useDefaultCommand>false</useDefaultCommand>
|
||||||
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
</target>
|
||||||
|
<target name="clean" path="build_cmake" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
<buildCommand>make</buildCommand>
|
||||||
|
<buildArguments>-j2</buildArguments>
|
||||||
|
<buildTarget>clean</buildTarget>
|
||||||
|
<stopOnError>true</stopOnError>
|
||||||
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
</target>
|
||||||
<target name="tests/testDSFVector.run" path="build/gtsam/base" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
<target name="tests/testDSFVector.run" path="build/gtsam/base" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
<buildCommand>make</buildCommand>
|
<buildCommand>make</buildCommand>
|
||||||
<buildArguments>-j2</buildArguments>
|
<buildArguments>-j2</buildArguments>
|
||||||
|
|
|
@ -21,6 +21,11 @@ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DEIGEN_NO_DEBUG")
|
||||||
|
|
||||||
# Configurable Options
|
# Configurable Options
|
||||||
|
|
||||||
|
|
||||||
|
# Pull in tests
|
||||||
|
ENABLE_TESTING()
|
||||||
|
INCLUDE(Dart)
|
||||||
|
|
||||||
# General build settings
|
# General build settings
|
||||||
include_directories(gtsam CppUnitLite)
|
include_directories(gtsam CppUnitLite)
|
||||||
|
|
||||||
|
@ -31,10 +36,10 @@ add_subdirectory(gtsam)
|
||||||
add_subdirectory(CppUnitLite)
|
add_subdirectory(CppUnitLite)
|
||||||
|
|
||||||
# Build Tests
|
# Build Tests
|
||||||
add_subdirectory(tests)
|
#add_subdirectory(tests)
|
||||||
|
|
||||||
# Build wrap
|
# Build wrap
|
||||||
add_subdirectory(wrap)
|
#add_subdirectory(wrap)
|
||||||
|
|
||||||
# Build examples
|
# Build examples
|
||||||
add_subdirectory(examples)
|
#add_subdirectory(examples)
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Build/install CppUnitLite
|
||||||
|
|
||||||
|
FILE(GLOB cppunitlite_headers "*.h")
|
||||||
|
FILE(GLOB cppunitlite_src "*.cpp")
|
||||||
|
|
||||||
|
ADD_LIBRARY(CppUnitLite STATIC ${cppunitlite_src})
|
||||||
|
|
||||||
|
install(FILES ${cppunitlite_headers} DESTINATION include/CppUnitLite)
|
||||||
|
install(TARGETS CppUnitLite ARCHIVE DESTINATION lib)
|
|
@ -1,6 +1,3 @@
|
||||||
# build 3rd party libraries
|
|
||||||
add_subdirectory(3rdparty)
|
|
||||||
|
|
||||||
# Build full gtsam library as a single library
|
# Build full gtsam library as a single library
|
||||||
# and also build tests
|
# and also build tests
|
||||||
set (gtsam_subdirs
|
set (gtsam_subdirs
|
||||||
|
@ -11,8 +8,43 @@ set (gtsam_subdirs
|
||||||
nonlinear
|
nonlinear
|
||||||
slam)
|
slam)
|
||||||
|
|
||||||
|
# Include CCOLAMD source directly into gtsam
|
||||||
|
include_directories(
|
||||||
|
3rdparty/UFconfig
|
||||||
|
3rdparty/CCOLAMD/Include
|
||||||
|
${CMAKE_SOURCE_DIR})
|
||||||
|
|
||||||
|
set (ccolamd_srcs
|
||||||
|
3rdparty/CCOLAMD/Source/ccolamd.c
|
||||||
|
3rdparty/CCOLAMD/Source/ccolamd_global.c
|
||||||
|
3rdparty/UFconfig/UFconfig.c)
|
||||||
|
|
||||||
|
set(gtsam_srcs ${ccolamd_srcs})
|
||||||
|
|
||||||
|
add_library(ccolamd STATIC ${ccolamd_srcs})
|
||||||
|
|
||||||
|
# Get all sources and headers from each
|
||||||
foreach(subdir ${gtsam_subdirs})
|
foreach(subdir ${gtsam_subdirs})
|
||||||
file(GLOB sub_gtsam_srcs ${subdir} "*.cpp")
|
message(STATUS "Building ${subdir}")
|
||||||
list(APPEND gtsam_srcs sub_gtsam_srcs)
|
file(GLOB sub_gtsam_srcs "${subdir}/*.cpp")
|
||||||
|
list(APPEND gtsam_srcs ${sub_gtsam_srcs})
|
||||||
|
|
||||||
|
# Make a convenience library
|
||||||
|
add_library(${subdir} STATIC ${sub_gtsam_srcs})
|
||||||
|
list(APPEND inner_libs ${subdir})
|
||||||
|
|
||||||
|
# Build tests
|
||||||
|
file(GLOB tests_srcs "${subdir}/tests/test*.cpp")
|
||||||
|
foreach(test_src ${tests_srcs})
|
||||||
|
get_filename_component(test_base ${test_src} NAME_WE)
|
||||||
|
set( test_bin ${EXECUTABLE_OUTPUT_PATH}/${subdir}/${test_base} )
|
||||||
|
add_executable(${test_bin} ${test_src})
|
||||||
|
#add_test(${subdir}/${test_base} ${subdir}/${test_base})
|
||||||
|
#target_link_libraries(${subdir}/${test_base} ${inner_libs} CppUnitLite ccolamd)
|
||||||
|
#add_custom_target(${test_base}.run ${EXECUTABLE_OUTPUT_PATH}/${test_base} ${ARGN})
|
||||||
|
endforeach(test_src)
|
||||||
endforeach(subdir)
|
endforeach(subdir)
|
||||||
|
|
||||||
|
# build a single shared library
|
||||||
|
add_library(gtsam SHARED ${gtsam_srcs})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue