################################################################################
# Project: rovo_description
# Description: URDF/Xacro Robot Description for ROVO2 Platform
# Copyright (c) 2024-2025 MyBotShop GmbH. All rights reserved.
# License: Proprietary
################################################################################

cmake_minimum_required(VERSION 3.14)
project(rovo_description VERSION 2.0.0 LANGUAGES CXX)

# =============================================================================
# Build Configuration
# =============================================================================
if(NOT CMAKE_CXX_STANDARD)
  set(CMAKE_CXX_STANDARD 17)
  set(CMAKE_CXX_STANDARD_REQUIRED ON)
endif()

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
  add_compile_options(-Wall -Wextra -Wpedantic)
endif()

# =============================================================================
# Dependencies
# =============================================================================
find_package(ament_cmake REQUIRED)
find_package(urdf REQUIRED)
find_package(xacro REQUIRED)

# =============================================================================
# Resource Files Installation
# =============================================================================
install(DIRECTORY
  launch/
  DESTINATION share/${PROJECT_NAME}/launch
)

install(DIRECTORY
  meshes/
  DESTINATION share/${PROJECT_NAME}/meshes
)

install(DIRECTORY
  xacro/
  DESTINATION share/${PROJECT_NAME}/xacro
)

# =============================================================================
# Export Dependencies
# =============================================================================
ament_export_dependencies(urdf xacro)

# =============================================================================
# Package Finalization
# =============================================================================
ament_package()
