eigen3_cmake_module package from eigen3_cmake_module repo

eigen3_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

Exports a custom CMake module to find Eigen3.

Additional Links

No 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.

CHANGELOG

Changelog for package eigen3_cmake_module

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange

eigen3_cmake_module package from eigen3_cmake_module repo

eigen3_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

Exports a custom CMake module to find Eigen3.

Additional Links

No 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

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange

eigen3_cmake_module package from eigen3_cmake_module repo

eigen3_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 rolling
Last Updated 2023-04-27
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

Exports a custom CMake module to find Eigen3.

Additional Links

No 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

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.

eigen3_cmake_module package from eigen3_cmake_module repo

eigen3_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

Exports a custom CMake module to find Eigen3.

Additional Links

No 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.

CHANGELOG

Changelog for package eigen3_cmake_module

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange

eigen3_cmake_module package from eigen3_cmake_module repo

eigen3_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 master
Last Updated 2023-04-27
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

Exports a custom CMake module to find Eigen3.

Additional Links

No 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

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange

eigen3_cmake_module package from eigen3_cmake_module repo

eigen3_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

Exports a custom CMake module to find Eigen3.

Additional Links

No 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.

CHANGELOG

Changelog for package eigen3_cmake_module

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange

eigen3_cmake_module package from eigen3_cmake_module repo

eigen3_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

Exports a custom CMake module to find Eigen3.

Additional Links

No 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.

CHANGELOG

Changelog for package eigen3_cmake_module

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged eigen3_cmake_module at Robotics Stack Exchange

No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.