cmake_minimum_required(VERSION 3.10)

# 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
armarx_find_package(PUBLIC ArmarXGui)
armarx_find_package(PUBLIC RobotAPI REQUIRED)
armarx_find_package(PUBLIC MemoryX QUIET)
armarx_find_package(PUBLIC VisionX QUIET)

add_subdirectory(etc)
add_subdirectory(external)

# Required dependencies
armarx_find_package(PUBLIC Ceres QUIET)

# Optional dependencies
armarx_find_package(PUBLIC VTK)
armarx_find_package(PUBLIC SemanticObjectRelations QUIET)
armarx_find_package(PUBLIC OpenCV QUIET)  # Required as RobotAPI is a legacy project.


#include(FetchContent)

#FetchContent_Declare(
#    range_v3
#    GIT_REPOSITORY https://github.com/ericniebler/range-v3.git
#    GIT_TAG 0.11.0
#)
#FetchContent_MakeAvailable(range_v3)


# 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)

armarx_install_project()