|
eigen3_cmake_module package from eigen3_cmake_module repoeigen3_cmake_module |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 0.1.1 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Adds a custom find module for Eigen3 |
| Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2019-08-08 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Shane Loretz
Authors
- Shane Loretz
eigen3_cmake_module
On Ubuntu Bionic, the Eigen3 CMake package offers exported targets and non-standard CMake variables.
This is a problem for packages using ament_cmake.
Targets using ament_target_dependencies(my_target Eigen3) will fail to find Eigen3 headers at compile time.
Downstream packages will also fail to find Eigen3 headers at compile time, even if your package uses ament_export_dependencies(Eigen3).
This package adds a CMake find module for Eigen3 that sets standard CMake variables.
ROS 2 packages using Eigen3 should use this package to avoid these problems.
Using this package
Edit your CMakeLists.txt
In your CMakeLists.txt, call find_package() on this package using REQUIRED.
Afterwards, find Eigen3 with or without REQUIRED as appropriate for your package.
find_package(eigen3_cmake_module REQUIRED)
find_package(Eigen3)
Using with ament_cmake
If your package uses ament_cmake, then use ament_target_dependencies() to give your library or executable targets access to the Eigen3 headers.
# add_library(my_thing ...)
# # OR
# add_executable(my_thing ...)
# ...
ament_target_dependencies(my_thing Eigen3)
If Eigen3 appears in headers installed by your package, then downstream packages will need the Eigen3 headers too.
Call ament_export_dependencies() on this package, and afterwards do the same for Eigen3.
ament_export_dependencies(eigen3_cmake_module)
ament_export_dependencies(Eigen3)
Using without ament_cmake
If your package does not use ament_cmake, then use target_include_directories() to give your targets access to the Eigen3 headers.
target_include_directories(my_target PUBLIC "${Eigen3_INCLUDE_DIRS}")
If Eigen3 is used in headers installed by your package, then your <project>-config.cmake must find both this package and Eigen3.
Afterwards the Eigen3 headers should be added to your package’s include variable.
find_package(eigen3_cmake_module)
if (NOT eigen3_cmake_module_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
find_package(Eigen3)
if (NOT Eigen3_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
list(APPEND your_package_name_INCLUDE_DIRS ${Eigen3_INCLUDE_DIRS})
Edit your package.xml
Add a buildtool dependency to this package, and a build dependency to Eigen3 to your package.xml.
<buildtool_depend>eigen3_cmake_module</buildtool_depend>
<build_depend>eigen</build_depend>
If your package uses Eigen3 in public headers, then also add these tags so downstream packages also depend on this package and Eigen3.
<buildtool_export_depend>eigen3_cmake_module</buildtool_export_depend>
<build_export_depend>eigen</build_export_depend>
<exec_depend> is not necessary because Eigen3 is a header only library.
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange
|
eigen3_cmake_module package from eigen3_cmake_module repoeigen3_cmake_module |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 0.3.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Adds a custom find module for Eigen3 |
| Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2024-11-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Scott K Logan
Authors
- Brandon Ong
- Shane Loretz
eigen3_cmake_module
On Ubuntu Bionic, the Eigen3 CMake package offers exported targets and non-standard CMake variables.
This is a problem for packages using ament_cmake.
Targets using ament_target_dependencies(my_target Eigen3) will fail to find Eigen3 headers at compile time.
Downstream packages will also fail to find Eigen3 headers at compile time, even if your package uses ament_export_dependencies(Eigen3).
This package adds a CMake find module for Eigen3 that sets standard CMake variables.
ROS 2 packages using Eigen3 should use this package to avoid these problems.
Using this package
Edit your CMakeLists.txt
In your CMakeLists.txt, call find_package() on this package using REQUIRED.
Afterwards, find Eigen3 with or without REQUIRED as appropriate for your package.
find_package(eigen3_cmake_module REQUIRED)
find_package(Eigen3)
Using with ament_cmake
If your package uses ament_cmake, then use ament_target_dependencies() to give your library or executable targets access to the Eigen3 headers.
# add_library(my_thing ...)
# # OR
# add_executable(my_thing ...)
# ...
ament_target_dependencies(my_thing Eigen3)
If Eigen3 appears in headers installed by your package, then downstream packages will need the Eigen3 headers too.
Call ament_export_dependencies() on this package, and afterwards do the same for Eigen3.
ament_export_dependencies(eigen3_cmake_module)
ament_export_dependencies(Eigen3)
Using without ament_cmake
If your package does not use ament_cmake, then use target_include_directories() to give your targets access to the Eigen3 headers.
target_include_directories(my_target PUBLIC "${Eigen3_INCLUDE_DIRS}")
If Eigen3 is used in headers installed by your package, then your <project>-config.cmake must find both this package and Eigen3.
Afterwards the Eigen3 headers should be added to your package’s include variable.
find_package(eigen3_cmake_module)
if (NOT eigen3_cmake_module_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
find_package(Eigen3)
if (NOT Eigen3_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
list(APPEND your_package_name_INCLUDE_DIRS ${Eigen3_INCLUDE_DIRS})
Edit your package.xml
Add a buildtool dependency to this package, and a build dependency to Eigen3 to your package.xml.
<buildtool_depend>eigen3_cmake_module</buildtool_depend>
<build_depend>eigen</build_depend>
If your package uses Eigen3 in public headers, then also add these tags so downstream packages also depend on this package and Eigen3.
<buildtool_export_depend>eigen3_cmake_module</buildtool_export_depend>
<build_export_depend>eigen</build_export_depend>
<exec_depend> is not necessary because Eigen3 is a header only library.
Changelog for package eigen3_cmake_module
0.3.0 (2023-04-27)
0.2.2 (2023-02-13)
- [rolling] Update maintainers - 2022-11-07 (#6)
- Contributors: Audrow Nash
0.2.1 (2022-09-13)
- Mirror rolling to master
- Update maintainers (#4)
- Contributors: Audrow Nash, methylDragon
0.2.0 (2022-04-29)
0.1.1 (2019-08-08)
- Handle Eigen3 3.3.4 chocolatey package (#3)
- Update README (#2)
- Contributors: Marya Belanger, Shane Loretz
0.1.0 (2019-08-06)
- Initial release (#1)
- Contributors: Shane Loretz
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange
|
eigen3_cmake_module package from eigen3_cmake_module repoeigen3_cmake_module |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 0.4.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Adds a custom find module for Eigen3 |
| Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
| VCS Type | git |
| VCS Version | kilted |
| Last Updated | 2025-07-08 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Scott K Logan
Authors
- Brandon Ong
- Shane Loretz
eigen3_cmake_module
On Ubuntu Bionic, the Eigen3 CMake package offers exported targets and non-standard CMake variables.
This is a problem for packages using ament_cmake.
Targets using ament_target_dependencies(my_target Eigen3) will fail to find Eigen3 headers at compile time.
Downstream packages will also fail to find Eigen3 headers at compile time, even if your package uses ament_export_dependencies(Eigen3).
This package adds a CMake find module for Eigen3 that sets standard CMake variables.
ROS 2 packages using Eigen3 should use this package to avoid these problems.
Using this package
Edit your CMakeLists.txt
In your CMakeLists.txt, call find_package() on this package using REQUIRED.
Afterwards, find Eigen3 with or without REQUIRED as appropriate for your package.
find_package(eigen3_cmake_module REQUIRED)
find_package(Eigen3)
Using with ament_cmake
If your package uses ament_cmake, then use ament_target_dependencies() to give your library or executable targets access to the Eigen3 headers.
# add_library(my_thing ...)
# # OR
# add_executable(my_thing ...)
# ...
ament_target_dependencies(my_thing Eigen3)
If Eigen3 appears in headers installed by your package, then downstream packages will need the Eigen3 headers too.
Call ament_export_dependencies() on this package, and afterwards do the same for Eigen3.
ament_export_dependencies(eigen3_cmake_module)
ament_export_dependencies(Eigen3)
Using without ament_cmake
If your package does not use ament_cmake, then use target_include_directories() to give your targets access to the Eigen3 headers.
target_include_directories(my_target PUBLIC "${Eigen3_INCLUDE_DIRS}")
If Eigen3 is used in headers installed by your package, then your <project>-config.cmake must find both this package and Eigen3.
Afterwards the Eigen3 headers should be added to your package’s include variable.
find_package(eigen3_cmake_module)
if (NOT eigen3_cmake_module_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
find_package(Eigen3)
if (NOT Eigen3_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
list(APPEND your_package_name_INCLUDE_DIRS ${Eigen3_INCLUDE_DIRS})
Edit your package.xml
Add a buildtool dependency to this package, and a build dependency to Eigen3 to your package.xml.
<buildtool_depend>eigen3_cmake_module</buildtool_depend>
<build_depend>eigen</build_depend>
If your package uses Eigen3 in public headers, then also add these tags so downstream packages also depend on this package and Eigen3.
<buildtool_export_depend>eigen3_cmake_module</buildtool_export_depend>
<build_export_depend>eigen</build_export_depend>
<exec_depend> is not necessary because Eigen3 is a header only library.
Changelog for package eigen3_cmake_module
0.4.0 (2024-04-26)
0.3.0 (2023-04-27)
0.2.2 (2023-02-13)
- [rolling] Update maintainers - 2022-11-07 (#6)
- Contributors: Audrow Nash
0.2.1 (2022-09-13)
- Mirror rolling to master
- Update maintainers (#4)
- Contributors: Audrow Nash, methylDragon
0.2.0 (2022-04-29)
0.1.1 (2019-08-08)
- Handle Eigen3 3.3.4 chocolatey package (#3)
- Update README (#2)
- Contributors: Marya Belanger, Shane Loretz
0.1.0 (2019-08-06)
- Initial release (#1)
- Contributors: Shane Loretz
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange
|
eigen3_cmake_module package from eigen3_cmake_module repoeigen3_cmake_module |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 0.5.1 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Adds a custom find module for Eigen3 |
| Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
| VCS Type | git |
| VCS Version | rolling |
| Last Updated | 2025-07-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Scott K Logan
Authors
- Brandon Ong
- Shane Loretz
eigen3_cmake_module
On Ubuntu Bionic, the Eigen3 CMake package offers exported targets and non-standard CMake variables.
This is a problem for packages using ament_cmake.
Targets using ament_target_dependencies(my_target Eigen3) will fail to find Eigen3 headers at compile time.
Downstream packages will also fail to find Eigen3 headers at compile time, even if your package uses ament_export_dependencies(Eigen3).
This package adds a CMake find module for Eigen3 that sets standard CMake variables.
ROS 2 packages using Eigen3 should use this package to avoid these problems.
Using this package
Edit your CMakeLists.txt
In your CMakeLists.txt, call find_package() on this package using REQUIRED.
Afterwards, find Eigen3 with or without REQUIRED as appropriate for your package.
find_package(eigen3_cmake_module REQUIRED)
find_package(Eigen3)
Using with ament_cmake
If your package uses ament_cmake, then use ament_target_dependencies() to give your library or executable targets access to the Eigen3 headers.
# add_library(my_thing ...)
# # OR
# add_executable(my_thing ...)
# ...
ament_target_dependencies(my_thing Eigen3)
If Eigen3 appears in headers installed by your package, then downstream packages will need the Eigen3 headers too.
Call ament_export_dependencies() on this package, and afterwards do the same for Eigen3.
ament_export_dependencies(eigen3_cmake_module)
ament_export_dependencies(Eigen3)
Using without ament_cmake
If your package does not use ament_cmake, then use target_include_directories() to give your targets access to the Eigen3 headers.
target_include_directories(my_target PUBLIC "${Eigen3_INCLUDE_DIRS}")
If Eigen3 is used in headers installed by your package, then your <project>-config.cmake must find both this package and Eigen3.
Afterwards the Eigen3 headers should be added to your package’s include variable.
find_package(eigen3_cmake_module)
if (NOT eigen3_cmake_module_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
find_package(Eigen3)
if (NOT Eigen3_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
list(APPEND your_package_name_INCLUDE_DIRS ${Eigen3_INCLUDE_DIRS})
Edit your package.xml
Add a buildtool dependency to this package, and a build dependency to Eigen3 to your package.xml.
<buildtool_depend>eigen3_cmake_module</buildtool_depend>
<build_depend>eigen</build_depend>
If your package uses Eigen3 in public headers, then also add these tags so downstream packages also depend on this package and Eigen3.
<buildtool_export_depend>eigen3_cmake_module</buildtool_export_depend>
<build_export_depend>eigen</build_export_depend>
<exec_depend> is not necessary because Eigen3 is a header only library.
Changelog for package eigen3_cmake_module
0.5.1 (2025-07-29)
- fix cmake deprecation (#10)
- Contributors: mosfet80
0.5.0 (2025-04-25)
- Remove CODEOWNERS and mirror-rolling-to-master workflow. (#8)
- Contributors: Chris Lalancette
0.4.0 (2024-04-26)
0.3.0 (2023-04-27)
0.2.2 (2023-02-13)
- [rolling] Update maintainers - 2022-11-07 (#6)
- Contributors: Audrow Nash
0.2.1 (2022-09-13)
- Mirror rolling to master
- Update maintainers (#4)
- Contributors: Audrow Nash, methylDragon
0.2.0 (2022-04-29)
0.1.1 (2019-08-08)
- Handle Eigen3 3.3.4 chocolatey package (#3)
- Update README (#2)
- Contributors: Marya Belanger, Shane Loretz
0.1.0 (2019-08-06)
- Initial release (#1)
- Contributors: Shane Loretz
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange
|
eigen3_cmake_module package from eigen3_cmake_module repoeigen3_cmake_module |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 0.1.1 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Adds a custom find module for Eigen3 |
| Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2019-08-08 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Shane Loretz
Authors
- Shane Loretz
eigen3_cmake_module
On Ubuntu Bionic, the Eigen3 CMake package offers exported targets and non-standard CMake variables.
This is a problem for packages using ament_cmake.
Targets using ament_target_dependencies(my_target Eigen3) will fail to find Eigen3 headers at compile time.
Downstream packages will also fail to find Eigen3 headers at compile time, even if your package uses ament_export_dependencies(Eigen3).
This package adds a CMake find module for Eigen3 that sets standard CMake variables.
ROS 2 packages using Eigen3 should use this package to avoid these problems.
Using this package
Edit your CMakeLists.txt
In your CMakeLists.txt, call find_package() on this package using REQUIRED.
Afterwards, find Eigen3 with or without REQUIRED as appropriate for your package.
find_package(eigen3_cmake_module REQUIRED)
find_package(Eigen3)
Using with ament_cmake
If your package uses ament_cmake, then use ament_target_dependencies() to give your library or executable targets access to the Eigen3 headers.
# add_library(my_thing ...)
# # OR
# add_executable(my_thing ...)
# ...
ament_target_dependencies(my_thing Eigen3)
If Eigen3 appears in headers installed by your package, then downstream packages will need the Eigen3 headers too.
Call ament_export_dependencies() on this package, and afterwards do the same for Eigen3.
ament_export_dependencies(eigen3_cmake_module)
ament_export_dependencies(Eigen3)
Using without ament_cmake
If your package does not use ament_cmake, then use target_include_directories() to give your targets access to the Eigen3 headers.
target_include_directories(my_target PUBLIC "${Eigen3_INCLUDE_DIRS}")
If Eigen3 is used in headers installed by your package, then your <project>-config.cmake must find both this package and Eigen3.
Afterwards the Eigen3 headers should be added to your package’s include variable.
find_package(eigen3_cmake_module)
if (NOT eigen3_cmake_module_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
find_package(Eigen3)
if (NOT Eigen3_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
list(APPEND your_package_name_INCLUDE_DIRS ${Eigen3_INCLUDE_DIRS})
Edit your package.xml
Add a buildtool dependency to this package, and a build dependency to Eigen3 to your package.xml.
<buildtool_depend>eigen3_cmake_module</buildtool_depend>
<build_depend>eigen</build_depend>
If your package uses Eigen3 in public headers, then also add these tags so downstream packages also depend on this package and Eigen3.
<buildtool_export_depend>eigen3_cmake_module</buildtool_export_depend>
<build_export_depend>eigen</build_export_depend>
<exec_depend> is not necessary because Eigen3 is a header only library.
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange
|
eigen3_cmake_module package from eigen3_cmake_module repoeigen3_cmake_module |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 0.1.1 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Adds a custom find module for Eigen3 |
| Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
| VCS Type | git |
| VCS Version | galactic |
| Last Updated | 2019-08-08 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Shane Loretz
Authors
- Shane Loretz
eigen3_cmake_module
On Ubuntu Bionic, the Eigen3 CMake package offers exported targets and non-standard CMake variables.
This is a problem for packages using ament_cmake.
Targets using ament_target_dependencies(my_target Eigen3) will fail to find Eigen3 headers at compile time.
Downstream packages will also fail to find Eigen3 headers at compile time, even if your package uses ament_export_dependencies(Eigen3).
This package adds a CMake find module for Eigen3 that sets standard CMake variables.
ROS 2 packages using Eigen3 should use this package to avoid these problems.
Using this package
Edit your CMakeLists.txt
In your CMakeLists.txt, call find_package() on this package using REQUIRED.
Afterwards, find Eigen3 with or without REQUIRED as appropriate for your package.
find_package(eigen3_cmake_module REQUIRED)
find_package(Eigen3)
Using with ament_cmake
If your package uses ament_cmake, then use ament_target_dependencies() to give your library or executable targets access to the Eigen3 headers.
# add_library(my_thing ...)
# # OR
# add_executable(my_thing ...)
# ...
ament_target_dependencies(my_thing Eigen3)
If Eigen3 appears in headers installed by your package, then downstream packages will need the Eigen3 headers too.
Call ament_export_dependencies() on this package, and afterwards do the same for Eigen3.
ament_export_dependencies(eigen3_cmake_module)
ament_export_dependencies(Eigen3)
Using without ament_cmake
If your package does not use ament_cmake, then use target_include_directories() to give your targets access to the Eigen3 headers.
target_include_directories(my_target PUBLIC "${Eigen3_INCLUDE_DIRS}")
If Eigen3 is used in headers installed by your package, then your <project>-config.cmake must find both this package and Eigen3.
Afterwards the Eigen3 headers should be added to your package’s include variable.
find_package(eigen3_cmake_module)
if (NOT eigen3_cmake_module_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
find_package(Eigen3)
if (NOT Eigen3_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
list(APPEND your_package_name_INCLUDE_DIRS ${Eigen3_INCLUDE_DIRS})
Edit your package.xml
Add a buildtool dependency to this package, and a build dependency to Eigen3 to your package.xml.
<buildtool_depend>eigen3_cmake_module</buildtool_depend>
<build_depend>eigen</build_depend>
If your package uses Eigen3 in public headers, then also add these tags so downstream packages also depend on this package and Eigen3.
<buildtool_export_depend>eigen3_cmake_module</buildtool_export_depend>
<build_export_depend>eigen</build_export_depend>
<exec_depend> is not necessary because Eigen3 is a header only library.
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange
|
eigen3_cmake_module package from eigen3_cmake_module repoeigen3_cmake_module |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 0.2.2 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Adds a custom find module for Eigen3 |
| Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
| VCS Type | git |
| VCS Version | iron |
| Last Updated | 2023-02-13 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Scott K Logan
Authors
- Brandon Ong
- Shane Loretz
eigen3_cmake_module
On Ubuntu Bionic, the Eigen3 CMake package offers exported targets and non-standard CMake variables.
This is a problem for packages using ament_cmake.
Targets using ament_target_dependencies(my_target Eigen3) will fail to find Eigen3 headers at compile time.
Downstream packages will also fail to find Eigen3 headers at compile time, even if your package uses ament_export_dependencies(Eigen3).
This package adds a CMake find module for Eigen3 that sets standard CMake variables.
ROS 2 packages using Eigen3 should use this package to avoid these problems.
Using this package
Edit your CMakeLists.txt
In your CMakeLists.txt, call find_package() on this package using REQUIRED.
Afterwards, find Eigen3 with or without REQUIRED as appropriate for your package.
find_package(eigen3_cmake_module REQUIRED)
find_package(Eigen3)
Using with ament_cmake
If your package uses ament_cmake, then use ament_target_dependencies() to give your library or executable targets access to the Eigen3 headers.
# add_library(my_thing ...)
# # OR
# add_executable(my_thing ...)
# ...
ament_target_dependencies(my_thing Eigen3)
If Eigen3 appears in headers installed by your package, then downstream packages will need the Eigen3 headers too.
Call ament_export_dependencies() on this package, and afterwards do the same for Eigen3.
ament_export_dependencies(eigen3_cmake_module)
ament_export_dependencies(Eigen3)
Using without ament_cmake
If your package does not use ament_cmake, then use target_include_directories() to give your targets access to the Eigen3 headers.
target_include_directories(my_target PUBLIC "${Eigen3_INCLUDE_DIRS}")
If Eigen3 is used in headers installed by your package, then your <project>-config.cmake must find both this package and Eigen3.
Afterwards the Eigen3 headers should be added to your package’s include variable.
find_package(eigen3_cmake_module)
if (NOT eigen3_cmake_module_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
find_package(Eigen3)
if (NOT Eigen3_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
list(APPEND your_package_name_INCLUDE_DIRS ${Eigen3_INCLUDE_DIRS})
Edit your package.xml
Add a buildtool dependency to this package, and a build dependency to Eigen3 to your package.xml.
<buildtool_depend>eigen3_cmake_module</buildtool_depend>
<build_depend>eigen</build_depend>
If your package uses Eigen3 in public headers, then also add these tags so downstream packages also depend on this package and Eigen3.
<buildtool_export_depend>eigen3_cmake_module</buildtool_export_depend>
<build_export_depend>eigen</build_export_depend>
<exec_depend> is not necessary because Eigen3 is a header only library.
Changelog for package eigen3_cmake_module
0.2.2 (2023-02-13)
- [rolling] Update maintainers - 2022-11-07 (#6)
- Contributors: Audrow Nash
0.2.1 (2022-09-13)
- Mirror rolling to master
- Update maintainers (#4)
- Contributors: Audrow Nash, methylDragon
0.2.0 (2022-04-29)
0.1.1 (2019-08-08)
- Handle Eigen3 3.3.4 chocolatey package (#3)
- Update README (#2)
- Contributors: Marya Belanger, Shane Loretz
0.1.0 (2019-08-06)
- Initial release (#1)
- Contributors: Shane Loretz
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange
|
eigen3_cmake_module package from eigen3_cmake_module repoeigen3_cmake_module |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 0.1.1 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Adds a custom find module for Eigen3 |
| Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2019-08-08 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Shane Loretz
Authors
- Shane Loretz
eigen3_cmake_module
On Ubuntu Bionic, the Eigen3 CMake package offers exported targets and non-standard CMake variables.
This is a problem for packages using ament_cmake.
Targets using ament_target_dependencies(my_target Eigen3) will fail to find Eigen3 headers at compile time.
Downstream packages will also fail to find Eigen3 headers at compile time, even if your package uses ament_export_dependencies(Eigen3).
This package adds a CMake find module for Eigen3 that sets standard CMake variables.
ROS 2 packages using Eigen3 should use this package to avoid these problems.
Using this package
Edit your CMakeLists.txt
In your CMakeLists.txt, call find_package() on this package using REQUIRED.
Afterwards, find Eigen3 with or without REQUIRED as appropriate for your package.
find_package(eigen3_cmake_module REQUIRED)
find_package(Eigen3)
Using with ament_cmake
If your package uses ament_cmake, then use ament_target_dependencies() to give your library or executable targets access to the Eigen3 headers.
# add_library(my_thing ...)
# # OR
# add_executable(my_thing ...)
# ...
ament_target_dependencies(my_thing Eigen3)
If Eigen3 appears in headers installed by your package, then downstream packages will need the Eigen3 headers too.
Call ament_export_dependencies() on this package, and afterwards do the same for Eigen3.
ament_export_dependencies(eigen3_cmake_module)
ament_export_dependencies(Eigen3)
Using without ament_cmake
If your package does not use ament_cmake, then use target_include_directories() to give your targets access to the Eigen3 headers.
target_include_directories(my_target PUBLIC "${Eigen3_INCLUDE_DIRS}")
If Eigen3 is used in headers installed by your package, then your <project>-config.cmake must find both this package and Eigen3.
Afterwards the Eigen3 headers should be added to your package’s include variable.
find_package(eigen3_cmake_module)
if (NOT eigen3_cmake_module_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
find_package(Eigen3)
if (NOT Eigen3_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
list(APPEND your_package_name_INCLUDE_DIRS ${Eigen3_INCLUDE_DIRS})
Edit your package.xml
Add a buildtool dependency to this package, and a build dependency to Eigen3 to your package.xml.
<buildtool_depend>eigen3_cmake_module</buildtool_depend>
<build_depend>eigen</build_depend>
If your package uses Eigen3 in public headers, then also add these tags so downstream packages also depend on this package and Eigen3.
<buildtool_export_depend>eigen3_cmake_module</buildtool_export_depend>
<build_export_depend>eigen</build_export_depend>
<exec_depend> is not necessary because Eigen3 is a header only library.
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange
|
eigen3_cmake_module package from eigen3_cmake_module repoeigen3_cmake_module |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 0.1.1 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Adds a custom find module for Eigen3 |
| Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2019-08-08 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Shane Loretz
Authors
- Shane Loretz
eigen3_cmake_module
On Ubuntu Bionic, the Eigen3 CMake package offers exported targets and non-standard CMake variables.
This is a problem for packages using ament_cmake.
Targets using ament_target_dependencies(my_target Eigen3) will fail to find Eigen3 headers at compile time.
Downstream packages will also fail to find Eigen3 headers at compile time, even if your package uses ament_export_dependencies(Eigen3).
This package adds a CMake find module for Eigen3 that sets standard CMake variables.
ROS 2 packages using Eigen3 should use this package to avoid these problems.
Using this package
Edit your CMakeLists.txt
In your CMakeLists.txt, call find_package() on this package using REQUIRED.
Afterwards, find Eigen3 with or without REQUIRED as appropriate for your package.
find_package(eigen3_cmake_module REQUIRED)
find_package(Eigen3)
Using with ament_cmake
If your package uses ament_cmake, then use ament_target_dependencies() to give your library or executable targets access to the Eigen3 headers.
# add_library(my_thing ...)
# # OR
# add_executable(my_thing ...)
# ...
ament_target_dependencies(my_thing Eigen3)
If Eigen3 appears in headers installed by your package, then downstream packages will need the Eigen3 headers too.
Call ament_export_dependencies() on this package, and afterwards do the same for Eigen3.
ament_export_dependencies(eigen3_cmake_module)
ament_export_dependencies(Eigen3)
Using without ament_cmake
If your package does not use ament_cmake, then use target_include_directories() to give your targets access to the Eigen3 headers.
target_include_directories(my_target PUBLIC "${Eigen3_INCLUDE_DIRS}")
If Eigen3 is used in headers installed by your package, then your <project>-config.cmake must find both this package and Eigen3.
Afterwards the Eigen3 headers should be added to your package’s include variable.
find_package(eigen3_cmake_module)
if (NOT eigen3_cmake_module_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
find_package(Eigen3)
if (NOT Eigen3_FOUND)
set(your_package_name_FOUND 0)
return()
endif()
list(APPEND your_package_name_INCLUDE_DIRS ${Eigen3_INCLUDE_DIRS})
Edit your package.xml
Add a buildtool dependency to this package, and a build dependency to Eigen3 to your package.xml.
<buildtool_depend>eigen3_cmake_module</buildtool_depend>
<build_depend>eigen</build_depend>
If your package uses Eigen3 in public headers, then also add these tags so downstream packages also depend on this package and Eigen3.
<buildtool_export_depend>eigen3_cmake_module</buildtool_export_depend>
<build_export_depend>eigen</build_export_depend>
<exec_depend> is not necessary because Eigen3 is a header only library.