Context
I've downloaded Eigen 3.3
eigen: { type: 'git', url: 'https://gitlab.com/libeigen/eigen.git', version: '3.3' }
into the source workspace alongside other ament packages. Colcon discovers the package and can compile it, but it needs to be inserted into the colcon build graph so that it gets built prior to packages that depend on it (e.g. sophus). These packages use the eigen
key for discover, but colcon, by default, discovers Eigen3 as the key since that is the cmake name of the project. Hence, need to remap the name.
What Works
Using a colcon.pkg
file, with remapped name (and incidentally, some cmake args to customise the build).
name: "eigen"
type: cmake
"cmake-args":
- "-DBUILD_TESTING=OFF"
- "-DEIGEN_TEST_NOQT=ON"
What doesn't work
Using a colcon.meta
file placed one down from the src
directory (default lookup point). Colcon does detect this (I can introduce a parsing error failure by putting incorrect syntax into the file), even applies the cmake-args if I use Eigen3
as the name, but it doesn't remap the name with:
names:
"Eigen3":
name: "eigen"
type: cmake
"cmake-args":
- "-DBUILD_TESTING=OFF"
- "-DEIGEN_TEST_NOQT=ON"
Note, using paths
(i.e. src/eigen
) does not work either.