diff --git a/.cproject b/.cproject
index f54554f76..e85ec02ec 100644
--- a/.cproject
+++ b/.cproject
@@ -689,26 +689,18 @@
true
true
-
+
make
- -j2
- all
+ -j2 VERBOSE=1
+ check.nonlinear
true
- true
+ false
true
-
+
make
- -j2
- check
- true
- true
- true
-
-
- make
- -j2
- clean
+ -j5
+ timing.nonlinear
true
true
true
@@ -729,14 +721,6 @@
true
true
-
- make
- -j2
- check
- true
- true
- true
-
make
-j2
@@ -753,7 +737,31 @@
true
true
-
+
+ make
+ -j2 VERBOSE=1
+ check.slam
+ true
+ false
+ true
+
+
+ make
+ -j5
+ timing.slam
+ true
+ true
+ true
+
+
+ make
+ -j2
+ all
+ true
+ true
+ true
+
+
make
-j2
check
@@ -761,6 +769,14 @@
true
true
+
+ make
+ -j2
+ clean
+ true
+ true
+ true
+
make
-j2
@@ -817,14 +833,6 @@
true
true
-
- make
- -j2
- check
- true
- true
- true
-
make
-j2
@@ -833,6 +841,22 @@
true
true
+
+ make
+ -j2 VERBOSE=1
+ check.inference
+ true
+ false
+ true
+
+
+ make
+ -j5
+ timing.inference
+ true
+ true
+ true
+
make
-j2
@@ -841,10 +865,10 @@
true
true
-
+
make
- -j2
- check
+ -j5
+ check.tests
true
true
true
@@ -969,10 +993,10 @@
true
true
-
+
make
- -j2
- testBoundingConstraint.run
+ -j5
+ tests.testBoundingConstraint.run
true
true
true
@@ -993,6 +1017,14 @@
true
true
+
+ make
+ -j5
+ timing.tests
+ true
+ true
+ true
+
make
-j2
@@ -1392,26 +1424,10 @@
true
true
-
+
make
- -j2
- check
- true
- true
- true
-
-
- make
- -j2
- tests/testPose2.run
- true
- true
- true
-
-
- make
- -j2
- tests/testPose3.run
+ -j5
+ geometry.check
true
true
true
@@ -1456,10 +1472,50 @@
true
true
-
+
make
- -j2
- tests/testPoint2.run
+ -j1 VERBOSE=1
+ geometry.testHomography2.run
+ true
+ false
+ true
+
+
+ make
+ -j5
+ geometry.testPoint2.run
+ true
+ true
+ true
+
+
+ make
+ -j5
+ geometry.testPose2.run
+ true
+ true
+ true
+
+
+ make
+ -j5
+ geometry.testPose3.run
+ true
+ true
+ true
+
+
+ make
+ -j2 VERBOSE=1
+ check.geometry
+ true
+ false
+ true
+
+
+ make
+ -j5
+ timing.geometry
true
true
true
@@ -1608,441 +1664,74 @@
true
true
-
- cmake
- ..
- true
- false
- true
-
-
- make
- -j2 VERBOSE=1
- all
- true
- false
- true
-
-
- make
- -j5 VERBOSE=1
- all
- true
- false
- true
-
-
- make
- -j2
- clean
- true
- true
- true
-
-
- make
- -j1
- check
- true
- false
- true
-
-
+
make
-j5
- check
- true
- false
- true
-
-
- make
- -j2
- install
+ base.testDSFVector.run
true
true
true
-
- make
- -j2
- timing
- true
- true
- true
-
-
+
make
-j5
- install
- true
- false
- true
-
-
- make
- -j2
- base.testMatrix.run
+ base.testTestableAssertions.run
true
true
true
-
+
make
- -j2
- check.base
- true
- true
- true
-
-
- make
- -j2
- timing.base
- true
- true
- true
-
-
- make
- -j2
- base
- true
- true
- true
-
-
- make
- -j2
+ -j5
base.testVector.run
true
true
true
-
- make
- -j2
- base.timeMatrix.run
- true
- true
- true
-
-
- make
- -j2 VERBOSE=1
- check.geometry
- true
- false
- true
-
-
- make
- -j2
- timing.geometry
- true
- true
- true
-
-
- make
- -j2
- geometry
- true
- true
- true
-
-
- make
- -j2
- geometry.testPoint2.run
- true
- true
- true
-
-
- make
- -j2
- geometry.testPose2.run
- true
- true
- true
-
-
- make
- -j2
- geometry.testPose3.run
- true
- true
- true
-
-
- make
- -j1 VERBOSE=1
- geometry.testHomography2.run
- true
- false
- true
-
-
- make
- -j2 VERBOSE=1
- check.inference
- true
- false
- true
-
-
- make
- -j2 VERBOSE=1
- check.linear
- true
- false
- true
-
-
- make
- -j2 VERBOSE=1
- check.nonlinear
- true
- false
- true
-
-
- make
- -j2 VERBOSE=1
- check.slam
- true
- false
- true
-
-
- make
- -j2
- gtsam-static
- true
- true
- true
-
-
- make
- -j2
- gtsam-shared
- true
- true
- true
-
-
- make
- -j2
- check.tests
- true
- true
- true
-
-
- make
- -j2
- tests.testSerialization.run
- true
- true
- true
-
-
- make
- -j2
- timing.inference
- true
- true
- true
-
-
- make
- -j2
- timing.linear
- true
- true
- true
-
-
- make
- -j2
- timing.nonlinear
- true
- true
- true
-
-
- make
- -j2
- timing.slam
- true
- true
- true
-
-
- make
- -j2
- timing.tests
- true
- true
- true
-
-
- make
- -j2
- inference
- true
- true
- true
-
-
- make
- -j2
- linear
- true
- true
- true
-
-
- make
- -j2
- nonlinear
- true
- true
- true
-
-
- make
- -j2
- slam
- true
- true
- true
-
-
- make
- -j2
- examples
- true
- true
- true
-
-
- make
- -j2
- wrap
- true
- true
- true
-
-
- make
- -j2
- check.wrap
- true
- true
- true
-
-
- make
- -j2
- wrap_gtsam
- true
- true
- true
-
-
+
make
-j5
- check install
- true
- false
- true
-
-
- make
- -j2
- check install
+ base.testMatrix.run
true
true
true
-
+
make
- -j2
- wrap.testWrap.run
+ -j5
+ base.testNumericalDerivative.run
true
true
true
-
+
make
- -j2
- tests/testDSFVector.run
+ -j5
+ base.testBlockMatrices.run
true
true
true
-
+
make
- -j2
- tests/testTestableAssertions.run
+ -j5
+ base.testCholesky.run
true
true
true
-
+
make
- -j2
- tests/testVector.run
+ -j5
+ check.base
true
true
true
-
+
make
- -j2
- tests/testMatrix.run
- true
- true
- true
-
-
- make
- -j2
- check
- true
- true
- true
-
-
- make
- -j2
- tests/testNumericalDerivative.run
- true
- true
- true
-
-
- make
- -j2
- tests/testBlockMatrices.run
- true
- true
- true
-
-
- make
- -j2
- clean
- true
- true
- true
-
-
- make
- -j2
- tests/testCholesky.run
+ -j5
+ timing.base
true
true
true
@@ -2079,14 +1768,6 @@
true
true
-
- make
- -j2
- check
- true
- true
- true
-
make
-j2
@@ -2111,14 +1792,6 @@
true
true
-
- make
- -j2
- clean
- true
- true
- true
-
make
-j2
@@ -2135,6 +1808,22 @@
true
true
+
+ make
+ -j2 VERBOSE=1
+ check.linear
+ true
+ false
+ true
+
+
+ make
+ -j5
+ timing.linear
+ true
+ true
+ true
+
make
-j2
@@ -2247,61 +1936,6 @@
true
true
-
- make
- -j2
- install
- true
- true
- true
-
-
- make
- -j2
- clean
- true
- true
- true
-
-
- make
- -j2
- check
- true
- true
- true
-
-
- make
- -j2
- all
- true
- true
- true
-
-
- make
- -j2
- dist
- true
- true
- true
-
-
- cmake
- ..
- true
- false
- true
-
-
- make
-
- nonlinear.testValues.run
- true
- true
- true
-
make
-j2
@@ -2398,6 +2032,118 @@
true
true
+
+ make
+ -j2
+ install
+ true
+ true
+ true
+
+
+ make
+ -j2
+ clean
+ true
+ true
+ true
+
+
+ make
+ -j2
+ check
+ true
+ true
+ true
+
+
+ make
+ -j2
+ all
+ true
+ true
+ true
+
+
+ cmake
+ ..
+
+ true
+ false
+ true
+
+
+ make
+ -j5
+ gtsam-shared
+ true
+ true
+ true
+
+
+ make
+ -j5
+ gtsam-static
+ true
+ true
+ true
+
+
+ make
+ -j5
+ timing
+ true
+ true
+ true
+
+
+ make
+ -j5
+ examples
+ true
+ true
+ true
+
+
+ make
+ -j5
+ wrap.testSpirit.run
+ true
+ true
+ true
+
+
+ make
+ -j5
+ wrap.testWrap.run
+ true
+ true
+ true
+
+
+ make
+ -j5
+ check.wrap
+ true
+ true
+ true
+
+
+ make
+ -j5
+ wrap_gtsam
+ true
+ true
+ true
+
+
+ make
+ -j5
+ wrap
+ true
+ true
+ true
+
make
-j2
@@ -2433,58 +2179,11 @@
cmake
..
+
true
false
true
-
- make
- -j2
- check
- true
- true
- true
-
-
- make
- -j2
- install
- true
- true
- true
-
-
- make
- -j2
- tests/testSpirit.run
- true
- true
- true
-
-
- make
- -j2
- tests/testWrap.run
- true
- true
- true
-
-
- make
- -j2
- clean
- true
- true
- true
-
-
- make
- -j2
- all
- true
- true
- true
-
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f58596520..b8e560e7a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -40,6 +40,7 @@ option(GTSAM_BUILD_TIMING "Enable/Disable building of timing scripts" ON)
option(GTSAM_BUILD_EXAMPLES "Enable/Disable building of examples" ON)
option(GTSAM_BUILD_WRAP "Enable/Disable building of matlab wrap utility (necessary for matlab interface)" 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)
# Add the Quaternion Build Flag if requested
if (GTSAM_USE_QUATERNIONS)