eigen3_cmake_module package from eigen3_cmake_module repoeigen3_cmake_module |
|
Package Summary
Tags | No category tags. |
Version | 0.1.1 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2019-08-08 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.
Wiki Tutorials
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 |
|
Package Summary
Tags | No category tags. |
Version | 0.3.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-11-28 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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
Wiki Tutorials
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 |
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-11-28 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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
Wiki Tutorials
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 |
|
Package Summary
Tags | No category tags. |
Version | 0.1.1 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
VCS Type | git |
VCS Version | eloquent |
Last Updated | 2019-08-08 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
tf2_eigen | |
tf2_sensor_msgs | |
laser_geometry | |
rviz_rendering |
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 |
|
Package Summary
Tags | No category tags. |
Version | 0.4.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-04-26 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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
Wiki Tutorials
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 |
|
Package Summary
Tags | No category tags. |
Version | 0.1.1 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
VCS Type | git |
VCS Version | galactic |
Last Updated | 2019-08-08 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.
Wiki Tutorials
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 |
|
Package Summary
Tags | No category tags. |
Version | 0.1.1 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
VCS Type | git |
VCS Version | foxy |
Last Updated | 2019-08-08 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.
Wiki Tutorials
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 |
|
Package Summary
Tags | No category tags. |
Version | 0.2.2 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/eigen3_cmake_module.git |
VCS Type | git |
VCS Version | iron |
Last Updated | 2023-02-13 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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