Repository Summary

Checkout URI https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git
VCS Type git
VCS Version master
Last Updated 2025-02-11
Dev Status UNMAINTAINED
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

README

CMake Boilerplate Scripts

license apache
2.0

license bsd 3
clause

This contains a collection of boilerplate CMake scripts and marcos.

Note: this package is not specific to ROS-Industrial and is usable with any package which uses CMake. The prefix was added to facilitate releasing this into different ROS distributions.

::: {.contents depth=”4”} Table of Contents :::

Create Debian Package (Linux) or NuGet Package (Windows)

The following process will generate a Debian or NuGet package leveraging CMake and CPack based on the OS.

The package should be located in the current directory.

` bash cd <workspace directory> catkin build -DRICB_PACKAGE=ON ./src/ros_industrial_cmake_boilerplate/.run-cpack`

Available Macros

Extract Package Metadata

This CMake macro will extract the package name and version from a package.xml file. It will create two cmake variable ${PREFIX_ARG}_extracted_name and ${PREFIX_ARG}_extracted_version.

extract_package_metadata(${PREFIX_ARG})

Clang Tidy

This CMake macro will add clang-tidy to all targets

clang_tidy(ARGUMENTS ${ARGN})
# or
clang_tidy(ARGUMENTS ${ARGN} ENABLE ${USER_ENABLE_ARG})

This CMake macro will add clang-tidy to all targets with default arguments.

clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS})
# or
clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS} ENABLE ${USER_ENABLE_ARG})

Clears clang-tidy so it is not called on any following defined code compilation. It can be re-enabled by another call to [clang_tidy()]{.title-ref}.

reset_clang_tidy()

This CMake macro will add clang-tidy to a provided target.

::: note ::: title Note :::

Each of the macros can take an ENABLE ON/OFF so they can easily be enabled by an external flag. If not provided it is automatically enabled. :::

Single Argument Keywords:

+——————–+———-+————————————+ | Keyword | Type | Description | +====================+==========+====================================+ | ENABLE | > ON/OFF | Enable/Disable clang-tidy | +——————–+———-+————————————+ | WARNINGS_AS_ERRORS | > ON/OFF | Treat warnings as errors. If | | | | ERROR_CHECKS is not provided, it | | | | will use CHECKS to treat as | | | | errors. | +——————–+———-+————————————+ | HEADER_FILTER | > String | Default to '.*' if not | | | | provided. Regular expression | | | | matching the names of the headers | | | | to output diagnostics from. |

File truncated at 100 lines see the full file

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.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 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. ~~~

Repository Summary

Checkout URI https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git
VCS Type git
VCS Version master
Last Updated 2025-02-11
Dev Status UNMAINTAINED
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

README

CMake Boilerplate Scripts

license apache
2.0

license bsd 3
clause

This contains a collection of boilerplate CMake scripts and marcos.

Note: this package is not specific to ROS-Industrial and is usable with any package which uses CMake. The prefix was added to facilitate releasing this into different ROS distributions.

::: {.contents depth=”4”} Table of Contents :::

Create Debian Package (Linux) or NuGet Package (Windows)

The following process will generate a Debian or NuGet package leveraging CMake and CPack based on the OS.

The package should be located in the current directory.

` bash cd <workspace directory> catkin build -DRICB_PACKAGE=ON ./src/ros_industrial_cmake_boilerplate/.run-cpack`

Available Macros

Extract Package Metadata

This CMake macro will extract the package name and version from a package.xml file. It will create two cmake variable ${PREFIX_ARG}_extracted_name and ${PREFIX_ARG}_extracted_version.

extract_package_metadata(${PREFIX_ARG})

Clang Tidy

This CMake macro will add clang-tidy to all targets

clang_tidy(ARGUMENTS ${ARGN})
# or
clang_tidy(ARGUMENTS ${ARGN} ENABLE ${USER_ENABLE_ARG})

This CMake macro will add clang-tidy to all targets with default arguments.

clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS})
# or
clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS} ENABLE ${USER_ENABLE_ARG})

Clears clang-tidy so it is not called on any following defined code compilation. It can be re-enabled by another call to [clang_tidy()]{.title-ref}.

reset_clang_tidy()

This CMake macro will add clang-tidy to a provided target.

::: note ::: title Note :::

Each of the macros can take an ENABLE ON/OFF so they can easily be enabled by an external flag. If not provided it is automatically enabled. :::

Single Argument Keywords:

+——————–+———-+————————————+ | Keyword | Type | Description | +====================+==========+====================================+ | ENABLE | > ON/OFF | Enable/Disable clang-tidy | +——————–+———-+————————————+ | WARNINGS_AS_ERRORS | > ON/OFF | Treat warnings as errors. If | | | | ERROR_CHECKS is not provided, it | | | | will use CHECKS to treat as | | | | errors. | +——————–+———-+————————————+ | HEADER_FILTER | > String | Default to '.*' if not | | | | provided. Regular expression | | | | matching the names of the headers | | | | to output diagnostics from. |

File truncated at 100 lines see the full file

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.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 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. ~~~

Repository Summary

Checkout URI https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git
VCS Type git
VCS Version master
Last Updated 2025-02-11
Dev Status UNMAINTAINED
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

README

CMake Boilerplate Scripts

license apache
2.0

license bsd 3
clause

This contains a collection of boilerplate CMake scripts and marcos.

Note: this package is not specific to ROS-Industrial and is usable with any package which uses CMake. The prefix was added to facilitate releasing this into different ROS distributions.

::: {.contents depth=”4”} Table of Contents :::

Create Debian Package (Linux) or NuGet Package (Windows)

The following process will generate a Debian or NuGet package leveraging CMake and CPack based on the OS.

The package should be located in the current directory.

` bash cd <workspace directory> catkin build -DRICB_PACKAGE=ON ./src/ros_industrial_cmake_boilerplate/.run-cpack`

Available Macros

Extract Package Metadata

This CMake macro will extract the package name and version from a package.xml file. It will create two cmake variable ${PREFIX_ARG}_extracted_name and ${PREFIX_ARG}_extracted_version.

extract_package_metadata(${PREFIX_ARG})

Clang Tidy

This CMake macro will add clang-tidy to all targets

clang_tidy(ARGUMENTS ${ARGN})
# or
clang_tidy(ARGUMENTS ${ARGN} ENABLE ${USER_ENABLE_ARG})

This CMake macro will add clang-tidy to all targets with default arguments.

clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS})
# or
clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS} ENABLE ${USER_ENABLE_ARG})

Clears clang-tidy so it is not called on any following defined code compilation. It can be re-enabled by another call to [clang_tidy()]{.title-ref}.

reset_clang_tidy()

This CMake macro will add clang-tidy to a provided target.

::: note ::: title Note :::

Each of the macros can take an ENABLE ON/OFF so they can easily be enabled by an external flag. If not provided it is automatically enabled. :::

Single Argument Keywords:

+——————–+———-+————————————+ | Keyword | Type | Description | +====================+==========+====================================+ | ENABLE | > ON/OFF | Enable/Disable clang-tidy | +——————–+———-+————————————+ | WARNINGS_AS_ERRORS | > ON/OFF | Treat warnings as errors. If | | | | ERROR_CHECKS is not provided, it | | | | will use CHECKS to treat as | | | | errors. | +——————–+———-+————————————+ | HEADER_FILTER | > String | Default to '.*' if not | | | | provided. Regular expression | | | | matching the names of the headers | | | | to output diagnostics from. |

File truncated at 100 lines see the full file

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.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 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. ~~~

Repository Summary

Checkout URI https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git
VCS Type git
VCS Version master
Last Updated 2025-02-11
Dev Status UNMAINTAINED
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

README

CMake Boilerplate Scripts

license apache
2.0

license bsd 3
clause

This contains a collection of boilerplate CMake scripts and marcos.

Note: this package is not specific to ROS-Industrial and is usable with any package which uses CMake. The prefix was added to facilitate releasing this into different ROS distributions.

::: {.contents depth=”4”} Table of Contents :::

Create Debian Package (Linux) or NuGet Package (Windows)

The following process will generate a Debian or NuGet package leveraging CMake and CPack based on the OS.

The package should be located in the current directory.

` bash cd <workspace directory> catkin build -DRICB_PACKAGE=ON ./src/ros_industrial_cmake_boilerplate/.run-cpack`

Available Macros

Extract Package Metadata

This CMake macro will extract the package name and version from a package.xml file. It will create two cmake variable ${PREFIX_ARG}_extracted_name and ${PREFIX_ARG}_extracted_version.

extract_package_metadata(${PREFIX_ARG})

Clang Tidy

This CMake macro will add clang-tidy to all targets

clang_tidy(ARGUMENTS ${ARGN})
# or
clang_tidy(ARGUMENTS ${ARGN} ENABLE ${USER_ENABLE_ARG})

This CMake macro will add clang-tidy to all targets with default arguments.

clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS})
# or
clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS} ENABLE ${USER_ENABLE_ARG})

Clears clang-tidy so it is not called on any following defined code compilation. It can be re-enabled by another call to [clang_tidy()]{.title-ref}.

reset_clang_tidy()

This CMake macro will add clang-tidy to a provided target.

::: note ::: title Note :::

Each of the macros can take an ENABLE ON/OFF so they can easily be enabled by an external flag. If not provided it is automatically enabled. :::

Single Argument Keywords:

+——————–+———-+————————————+ | Keyword | Type | Description | +====================+==========+====================================+ | ENABLE | > ON/OFF | Enable/Disable clang-tidy | +——————–+———-+————————————+ | WARNINGS_AS_ERRORS | > ON/OFF | Treat warnings as errors. If | | | | ERROR_CHECKS is not provided, it | | | | will use CHECKS to treat as | | | | errors. | +——————–+———-+————————————+ | HEADER_FILTER | > String | Default to '.*' if not | | | | provided. Regular expression | | | | matching the names of the headers | | | | to output diagnostics from. |

File truncated at 100 lines see the full file

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.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 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. ~~~
Repo symbol

ros_industrial_cmake_boilerplate repository

Repo symbol

ros_industrial_cmake_boilerplate repository

Repo symbol

ros_industrial_cmake_boilerplate repository

Repo symbol

ros_industrial_cmake_boilerplate repository

Repo symbol

ros_industrial_cmake_boilerplate repository

Repo symbol

ros_industrial_cmake_boilerplate repository

Repository Summary

Checkout URI https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git
VCS Type git
VCS Version master
Last Updated 2025-02-11
Dev Status UNMAINTAINED
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

README

CMake Boilerplate Scripts

license apache
2.0

license bsd 3
clause

This contains a collection of boilerplate CMake scripts and marcos.

Note: this package is not specific to ROS-Industrial and is usable with any package which uses CMake. The prefix was added to facilitate releasing this into different ROS distributions.

::: {.contents depth=”4”} Table of Contents :::

Create Debian Package (Linux) or NuGet Package (Windows)

The following process will generate a Debian or NuGet package leveraging CMake and CPack based on the OS.

The package should be located in the current directory.

` bash cd <workspace directory> catkin build -DRICB_PACKAGE=ON ./src/ros_industrial_cmake_boilerplate/.run-cpack`

Available Macros

Extract Package Metadata

This CMake macro will extract the package name and version from a package.xml file. It will create two cmake variable ${PREFIX_ARG}_extracted_name and ${PREFIX_ARG}_extracted_version.

extract_package_metadata(${PREFIX_ARG})

Clang Tidy

This CMake macro will add clang-tidy to all targets

clang_tidy(ARGUMENTS ${ARGN})
# or
clang_tidy(ARGUMENTS ${ARGN} ENABLE ${USER_ENABLE_ARG})

This CMake macro will add clang-tidy to all targets with default arguments.

clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS})
# or
clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS} ENABLE ${USER_ENABLE_ARG})

Clears clang-tidy so it is not called on any following defined code compilation. It can be re-enabled by another call to [clang_tidy()]{.title-ref}.

reset_clang_tidy()

This CMake macro will add clang-tidy to a provided target.

::: note ::: title Note :::

Each of the macros can take an ENABLE ON/OFF so they can easily be enabled by an external flag. If not provided it is automatically enabled. :::

Single Argument Keywords:

+——————–+———-+————————————+ | Keyword | Type | Description | +====================+==========+====================================+ | ENABLE | > ON/OFF | Enable/Disable clang-tidy | +——————–+———-+————————————+ | WARNINGS_AS_ERRORS | > ON/OFF | Treat warnings as errors. If | | | | ERROR_CHECKS is not provided, it | | | | will use CHECKS to treat as | | | | errors. | +——————–+———-+————————————+ | HEADER_FILTER | > String | Default to '.*' if not | | | | provided. Regular expression | | | | matching the names of the headers | | | | to output diagnostics from. |

File truncated at 100 lines see the full file

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.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 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. ~~~

Repository Summary

Checkout URI https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git
VCS Type git
VCS Version master
Last Updated 2025-02-11
Dev Status UNMAINTAINED
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

README

CMake Boilerplate Scripts

license apache
2.0

license bsd 3
clause

This contains a collection of boilerplate CMake scripts and marcos.

Note: this package is not specific to ROS-Industrial and is usable with any package which uses CMake. The prefix was added to facilitate releasing this into different ROS distributions.

::: {.contents depth=”4”} Table of Contents :::

Create Debian Package (Linux) or NuGet Package (Windows)

The following process will generate a Debian or NuGet package leveraging CMake and CPack based on the OS.

The package should be located in the current directory.

` bash cd <workspace directory> catkin build -DRICB_PACKAGE=ON ./src/ros_industrial_cmake_boilerplate/.run-cpack`

Available Macros

Extract Package Metadata

This CMake macro will extract the package name and version from a package.xml file. It will create two cmake variable ${PREFIX_ARG}_extracted_name and ${PREFIX_ARG}_extracted_version.

extract_package_metadata(${PREFIX_ARG})

Clang Tidy

This CMake macro will add clang-tidy to all targets

clang_tidy(ARGUMENTS ${ARGN})
# or
clang_tidy(ARGUMENTS ${ARGN} ENABLE ${USER_ENABLE_ARG})

This CMake macro will add clang-tidy to all targets with default arguments.

clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS})
# or
clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS} ENABLE ${USER_ENABLE_ARG})

Clears clang-tidy so it is not called on any following defined code compilation. It can be re-enabled by another call to [clang_tidy()]{.title-ref}.

reset_clang_tidy()

This CMake macro will add clang-tidy to a provided target.

::: note ::: title Note :::

Each of the macros can take an ENABLE ON/OFF so they can easily be enabled by an external flag. If not provided it is automatically enabled. :::

Single Argument Keywords:

+——————–+———-+————————————+ | Keyword | Type | Description | +====================+==========+====================================+ | ENABLE | > ON/OFF | Enable/Disable clang-tidy | +——————–+———-+————————————+ | WARNINGS_AS_ERRORS | > ON/OFF | Treat warnings as errors. If | | | | ERROR_CHECKS is not provided, it | | | | will use CHECKS to treat as | | | | errors. | +——————–+———-+————————————+ | HEADER_FILTER | > String | Default to '.*' if not | | | | provided. Regular expression | | | | matching the names of the headers | | | | to output diagnostics from. |

File truncated at 100 lines see the full file

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.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 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. ~~~
Repo symbol

ros_industrial_cmake_boilerplate repository

Repo symbol

ros_industrial_cmake_boilerplate repository

Repo symbol

ros_industrial_cmake_boilerplate repository

Repo symbol

ros_industrial_cmake_boilerplate repository

Repo symbol

ros_industrial_cmake_boilerplate repository

Repository Summary

Checkout URI https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git
VCS Type git
VCS Version master
Last Updated 2025-02-11
Dev Status UNMAINTAINED
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

README

CMake Boilerplate Scripts

license apache
2.0

license bsd 3
clause

This contains a collection of boilerplate CMake scripts and marcos.

Note: this package is not specific to ROS-Industrial and is usable with any package which uses CMake. The prefix was added to facilitate releasing this into different ROS distributions.

::: {.contents depth=”4”} Table of Contents :::

Create Debian Package (Linux) or NuGet Package (Windows)

The following process will generate a Debian or NuGet package leveraging CMake and CPack based on the OS.

The package should be located in the current directory.

` bash cd <workspace directory> catkin build -DRICB_PACKAGE=ON ./src/ros_industrial_cmake_boilerplate/.run-cpack`

Available Macros

Extract Package Metadata

This CMake macro will extract the package name and version from a package.xml file. It will create two cmake variable ${PREFIX_ARG}_extracted_name and ${PREFIX_ARG}_extracted_version.

extract_package_metadata(${PREFIX_ARG})

Clang Tidy

This CMake macro will add clang-tidy to all targets

clang_tidy(ARGUMENTS ${ARGN})
# or
clang_tidy(ARGUMENTS ${ARGN} ENABLE ${USER_ENABLE_ARG})

This CMake macro will add clang-tidy to all targets with default arguments.

clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS})
# or
clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS} ENABLE ${USER_ENABLE_ARG})

Clears clang-tidy so it is not called on any following defined code compilation. It can be re-enabled by another call to [clang_tidy()]{.title-ref}.

reset_clang_tidy()

This CMake macro will add clang-tidy to a provided target.

::: note ::: title Note :::

Each of the macros can take an ENABLE ON/OFF so they can easily be enabled by an external flag. If not provided it is automatically enabled. :::

Single Argument Keywords:

+——————–+———-+————————————+ | Keyword | Type | Description | +====================+==========+====================================+ | ENABLE | > ON/OFF | Enable/Disable clang-tidy | +——————–+———-+————————————+ | WARNINGS_AS_ERRORS | > ON/OFF | Treat warnings as errors. If | | | | ERROR_CHECKS is not provided, it | | | | will use CHECKS to treat as | | | | errors. | +——————–+———-+————————————+ | HEADER_FILTER | > String | Default to '.*' if not | | | | provided. Regular expression | | | | matching the names of the headers | | | | to output diagnostics from. |

File truncated at 100 lines see the full file

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.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 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. ~~~

Repository Summary

Checkout URI https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git
VCS Type git
VCS Version master
Last Updated 2025-02-11
Dev Status UNMAINTAINED
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

README

CMake Boilerplate Scripts

license apache
2.0

license bsd 3
clause

This contains a collection of boilerplate CMake scripts and marcos.

Note: this package is not specific to ROS-Industrial and is usable with any package which uses CMake. The prefix was added to facilitate releasing this into different ROS distributions.

::: {.contents depth=”4”} Table of Contents :::

Create Debian Package (Linux) or NuGet Package (Windows)

The following process will generate a Debian or NuGet package leveraging CMake and CPack based on the OS.

The package should be located in the current directory.

` bash cd <workspace directory> catkin build -DRICB_PACKAGE=ON ./src/ros_industrial_cmake_boilerplate/.run-cpack`

Available Macros

Extract Package Metadata

This CMake macro will extract the package name and version from a package.xml file. It will create two cmake variable ${PREFIX_ARG}_extracted_name and ${PREFIX_ARG}_extracted_version.

extract_package_metadata(${PREFIX_ARG})

Clang Tidy

This CMake macro will add clang-tidy to all targets

clang_tidy(ARGUMENTS ${ARGN})
# or
clang_tidy(ARGUMENTS ${ARGN} ENABLE ${USER_ENABLE_ARG})

This CMake macro will add clang-tidy to all targets with default arguments.

clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS})
# or
clang_tidy(ARGUMENTS ${DEFAULT_CLANG_TIDY_CHECKS} ENABLE ${USER_ENABLE_ARG})

Clears clang-tidy so it is not called on any following defined code compilation. It can be re-enabled by another call to [clang_tidy()]{.title-ref}.

reset_clang_tidy()

This CMake macro will add clang-tidy to a provided target.

::: note ::: title Note :::

Each of the macros can take an ENABLE ON/OFF so they can easily be enabled by an external flag. If not provided it is automatically enabled. :::

Single Argument Keywords:

+——————–+———-+————————————+ | Keyword | Type | Description | +====================+==========+====================================+ | ENABLE | > ON/OFF | Enable/Disable clang-tidy | +——————–+———-+————————————+ | WARNINGS_AS_ERRORS | > ON/OFF | Treat warnings as errors. If | | | | ERROR_CHECKS is not provided, it | | | | will use CHECKS to treat as | | | | errors. | +——————–+———-+————————————+ | HEADER_FILTER | > String | Default to '.*' if not | | | | provided. Regular expression | | | | matching the names of the headers | | | | to output diagnostics from. |

File truncated at 100 lines see the full file

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.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 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. ~~~