Skip to content
Snippets Groups Projects
CMakeLists.txt 1.57 KiB
Newer Older
cmake_minimum_required(VERSION 3.18)
Fabian Reister's avatar
Fabian Reister committed

Fabian Reister's avatar
Fabian Reister committed
# default settings
set(ARMARX_ENABLE_DEPENDENCY_VERSION_CHECK_DEFAULT FALSE)
Fabian Reister's avatar
Fabian Reister committed

Christian Dreher's avatar
Christian Dreher committed
find_package("ArmarXCore" REQUIRED)
Fabian Reister's avatar
Fabian Reister committed
include(${ArmarXCore_USE_FILE})

# Name for the project
Fabian Reister's avatar
Fabian Reister committed
armarx_enable_modern_cmake_project()
armarx_project(navigation NAMESPACE armarx)
Fabian Reister's avatar
Fabian Reister committed

# Specify each ArmarX Package dependency with the following macro
Fabian Reister's avatar
Fabian Reister committed
armarx_find_package(PUBLIC RobotAPI REQUIRED)

# - optional
armarx_find_package(PUBLIC ArmarXGui)
armarx_find_package(PUBLIC MemoryX QUIET)
armarx_find_package(PUBLIC VisionX QUIET)
# System dependencies
# - required
Fabian Reister's avatar
Fabian Reister committed
armarx_find_package(PUBLIC OpenMP QUIET)
armarx_find_package(PUBLIC Ceres QUIET)
armarx_find_package(PUBLIC VTK QUIET)
Fabian Reister's avatar
Fabian Reister committed
armarx_find_package(PUBLIC SemanticObjectRelations QUIET)
armarx_find_package(PUBLIC OpenCV QUIET)  # Required as RobotAPI is a legacy project.
add_subdirectory(etc)

set(RANGES_VERBOSE_BUILD OFF)
set(RANGES_RELEASE_BUILD ON)
set(RANGES_CXX_STD 17)
add_subdirectory(external)


armar-user's avatar
armar-user committed
#include(FetchContent)
armar-user's avatar
armar-user committed
#FetchContent_Declare(
#    range_v3
#    GIT_REPOSITORY https://github.com/ericniebler/range-v3.git
#    GIT_TAG 0.11.0
#)
#FetchContent_MakeAvailable(range_v3)
Fabian Reister's avatar
Fabian Reister committed

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

add_definitions(-Werror=init-self)
add_definitions(-Werror=uninitialized)
add_definitions(-Werror=missing-field-initializers)
add_definitions(-Werror=reorder)
add_definitions(-Werror=narrowing)
Fabian Reister's avatar
Fabian Reister committed

Fabian Reister's avatar
Fabian Reister committed
add_subdirectory(source)

Fabian Reister's avatar
Fabian Reister committed
armarx_install_project()