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) |
Packages
Name | Version |
---|---|
eigen3_cmake_module | 0.1.1 |
README
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.
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
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) |
Packages
Name | Version |
---|---|
eigen3_cmake_module | 0.3.0 |
README
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.
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
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) |
Packages
Name | Version |
---|---|
eigen3_cmake_module | 0.4.0 |
README
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.
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
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) |
Packages
Name | Version |
---|---|
eigen3_cmake_module | 0.1.1 |
README
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.
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
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) |
Packages
Name | Version |
---|---|
eigen3_cmake_module | 0.4.0 |
README
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.
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
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) |
Packages
Name | Version |
---|---|
eigen3_cmake_module | 0.1.1 |
README
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.
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
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) |
Packages
Name | Version |
---|---|
eigen3_cmake_module | 0.1.1 |
README
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.
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
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) |
Packages
Name | Version |
---|---|
eigen3_cmake_module | 0.2.2 |
README
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.
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).