Skip to content
Snippets Groups Projects
CMakeLists.txt 1.58 KiB
cmake_minimum_required(VERSION 3.18)

# default settings
set(ARMARX_ENABLE_DEPENDENCY_VERSION_CHECK_DEFAULT FALSE)

find_package("ArmarXCore" REQUIRED)
include(${ArmarXCore_USE_FILE})

# Name for the project
armarx_enable_modern_cmake_project()
armarx_project(navigation NAMESPACE armarx)

# Specify each ArmarX Package dependency with the following macro

# Required ArmarX dependencies.
# ===================================

armarx_find_package(PUBLIC RobotAPI REQUIRED)

# Optional ArmarX dependencies.
# ===================================

armarx_find_package(PUBLIC armarx::control)
armarx_find_package(PUBLIC ArmarXGui)
armarx_find_package(PUBLIC MemoryX QUIET)
armarx_find_package(PUBLIC VisionX QUIET)
armarx_find_package(PUBLIC ArmarXSimulation QUIET)

# Required system dependencies.
# ===================================


# Optional system dependencies.
# ===================================

armarx_find_package(PUBLIC OpenMP QUIET)
armarx_find_package(PUBLIC Ceres QUIET)
armarx_find_package(PUBLIC VTK QUIET)
armarx_find_package(PUBLIC SemanticObjectRelations QUIET)
armarx_find_package(PUBLIC OpenCV QUIET)  # Required as RobotAPI is a legacy project.
armarx_find_package(PUBLIC range-v3 QUIET)

# human aware navigation
armarx_find_package(PUBLIC teb_local_planner QUIET)
armarx_find_package(PUBLIC teb_extension QUIET)

add_subdirectory(etc)

# FetchContent_Declare(
#     inotify_cpp
#     GIT_REPOSITORY https://github.com/erikzenker/inotify-cpp.git
#     GIT_TAG v1.0.0
# )
# FetchContent_MakeAvailable(inotify_cpp)

add_subdirectory(source)
add_subdirectory(examples)

armarx_install_project()