Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Make custom_validators accessible from external library

Open
#239 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
cmake, cpp, python, yaml

Research direction

Read the CMake macro at generate_parameter_library/cmake/generate_parameter_library.cmake#L42-L54 and the referenced control_toolbox CMakeLists.txt lines 86-90. Trace how the custom validator header is included and used when generating parameters; the issue asks whether the macro can use the installed include path instead of requiring a copy. Done means an external package can use custom_validators.hpp through the generated library workflow without copying the file.

Written by the indexing model from the issue text.

Description

With #213 it is straightforward to use a complete cpp library within another package. But how can I use a custom_validator file from a different package?

Is there a smarter way to include the file from here to another library than

find_package(control_toolbox)
# get include dirs from control_toolbox for the custom validators
get_target_property(TB_INCLUDE_DIRS control_toolbox::rate_limiter_parameters INTERFACE_INCLUDE_DIRECTORIES)
generate_parameter_library(diff_drive_controller_parameters
  src/diff_drive_controller_parameter.yaml
  ${TB_INCLUDE_DIRS}/control_toolbox/custom_validators.hpp
)

@AugusteBourgois any suggestions?
Changing the macro here to avoid a COPY but just use the correct include path control_toolbox/custom_validators.hpp?
https://github.com/PickNikRobotics/generate_parameter_library/blob/891c29196ea3c070d818284b0ea2112ac8520037/generate_parameter_library/cmake/generate_parameter_library.cmake#L42-L54

Dominant language
Python
Stars
385
Forks
81
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PickNikRobotics/generate_parameter_library

All issues in PickNikRobotics/generate_parameter_library

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.