### Auto Package Installation - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Uses `ament_cmake_auto` to automatically handle the installation of the specified directories (`launch`, `params`) to the package's share directory. ```CMake ament_auto_package(INSTALL_TO_SHARE launch params) ``` -------------------------------- ### Install Python Script - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Installs the specified Python script (`scripts/create_map.py`) as a program executable into the package's library directory. ```CMake install(PROGRAMS scripts/create_map.py DESTINATION lib/${PROJECT_NAME} ) ``` -------------------------------- ### Get Resource Path from ament Index - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Retrieves the installation path of a specific resource (`isaac_ros_common_cmake_path`) associated with another package (`isaac_ros_common`) from the ament index. ```CMake ament_index_get_resource(ISAAC_ROS_COMMON_CMAKE_PATH isaac_ros_common_cmake_path isaac_ros_common) ``` -------------------------------- ### Find ament_cmake_python Package - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Locates the `ament_cmake_python` package, which is necessary for building and installing Python components within an ament package. ```CMake find_package(ament_cmake_python REQUIRED) ``` -------------------------------- ### Define Project Name - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Sets the name of the CMake project. This name is used by other CMake commands and variables, such as for installation paths. ```CMake project(isaac_ros_perceptor_bringup) ``` -------------------------------- ### Include Version Info CMake File - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Includes a CMake file from the `isaac_ros_common` package, which likely contains functions or definitions for handling versioning information. ```CMake include("${ISAAC_ROS_COMMON_CMAKE_PATH}/isaac_ros_common-version-info.cmake") ``` -------------------------------- ### Find ament_cmake_auto Package - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Locates the `ament_cmake_auto` package, which simplifies the build process by automatically finding and configuring build dependencies and targets based on `package.xml`. ```CMake find_package(ament_cmake_auto REQUIRED) ``` -------------------------------- ### Find rclpy Package - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Locates the `rclpy` package, the Python client library for ROS 2. This is required if the package contains Python nodes or scripts. ```CMake find_package(rclpy REQUIRED) ``` -------------------------------- ### Generate Version Information - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Calls a function (presumably defined in the included version info file) to generate versioning artifacts or information for the current project. ```CMake generate_version_info(${PROJECT_NAME}) ``` -------------------------------- ### Automatically Find Build Dependencies - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Uses the `ament_cmake_auto` functionality to automatically find and include build dependencies specified in the package's `package.xml` file. ```CMake ament_auto_find_build_dependencies() ``` -------------------------------- ### Find rclcpp Package - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Locates the `rclcpp` package, the C++ client library for ROS 2. This is required if the package contains C++ nodes or libraries. ```CMake find_package(rclcpp REQUIRED) ``` -------------------------------- ### Find ament_cmake Package - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Locates the `ament_cmake` package, which provides core CMake functions for building ROS 2 ament packages. The `REQUIRED` keyword makes it a mandatory dependency. ```CMake find_package(ament_cmake REQUIRED) ``` -------------------------------- ### Set Minimum CMake Version - CMake Source: https://github.com/nvidia-isaac-ros/isaac_perceptor/blob/main/isaac_ros_perceptor_bringup/CMakeLists.txt Specifies the minimum required version of CMake to build the project. This ensures compatibility with the CMake commands and features used in the file. ```CMake cmake_minimum_required(VERSION 3.22.1) ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.