Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ament_cppcheck] provide libraries #427

Open
whoutman opened this issue Dec 7, 2022 · 0 comments
Open

[ament_cppcheck] provide libraries #427

whoutman opened this issue Dec 7, 2022 · 0 comments
Labels

Comments

@whoutman
Copy link

whoutman commented Dec 7, 2022

When configuring my CMakeLists.txt for ament_cppcheck(), LIBRARIES can be explicitly set.

However, when ament_package() is called as well, errors are raised since ament_cppcheck() is called from ament_cmake_cppcheck_lint_hook.cmake

How am I supposed to provide the relevant libraries for ament_cppcheck() while calling ament_package() in my CMakeLists.txt?

On my local system, I solved it similarly as for e.g. file exclusions. Hence I added the following in ament_cmake_cppcheck_lint_hook.cmake

# Add libraries for added targets
set(_all_libraries "")
if(DEFINED ament_cmake_cppcheck_ADDITIONAL_LIBRARIES)
   list(APPEND _all_libraries ${ament_cmake_cppcheck_ADDITIONAL_LIBRARIES})
endif()

and called ament_cppcheck as

  ament_cppcheck(
          ${_language} INCLUDE_DIRS ${_all_include_dirs} EXCLUDE ${_all_exclude} LIBRARIES ${_all_libraries}
  )

As a result, I can set e.g. the boost-configuration of cppcheck as follows:

set(ament_cmake_cppcheck_ADDITIONAL_LIBRARIES "boost")

Is this how it is supposed to work or am I missing something?
If necessary, I am willing to create a PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants