Skip to content
Snippets Groups Projects
CMakeLists.txt 1.78 KiB
Newer Older
################################################################################
# Copyright (c) 2021 Daimler TSS GmbH
# Copyright (c) 2022 Mercedes-Benz Tech Innovation GmbH
#
# This program and the accompanying materials are made available under the terms
# of the Eclipse Public License 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
################################################################################

cmake_minimum_required(VERSION 3.15.0 FATAL_ERROR)

# Add the custom CMake modules to CMake's module path
list(PREPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
# Determine if ScenarioAPI is built as a subproject (using add_subdirectory) or if it is the main project.
if(NOT DEFINED ScenarioAPI_MAIN_PROJECT)
  set(ScenarioAPI_MAIN_PROJECT OFF)
  if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
    set(ScenarioAPI_MAIN_PROJECT ON)
  endif()
endif()

project(
  ScenarioAPI
  VERSION 0.1.0
  DESCRIPTION "Scenario API, an abstraction layer for environmental simulators"
# Options that control generation of various targets.
option(ScenarioAPI_DOC "Generate the doc target." ${ScenarioAPI_MAIN_PROJECT})
option(ScenarioAPI_INSTALL "Generate the install target." ${ScenarioAPI_MAIN_PROJECT})
option(ScenarioAPI_TEST "Generate the test target." ${ScenarioAPI_MAIN_PROJECT})
option(ScenarioAPI_PACKAGE "Generate the package target." ${ScenarioAPI_MAIN_PROJECT})
option(ScenarioAPI_ENABLE_WARNINGS "Enable compiler warnings." ${ScenarioAPI_MAIN_PROJECT})
option(ScenarioAPI_ENABLE_WERROR "Fail and stop if a warning is triggered." ${ScenarioAPI_MAIN_PROJECT})

if(ScenarioAPI_TEST)
  enable_testing()
include(CPM)
add_subdirectory(MantleAPI)

if(ScenarioAPI_PACKAGE)
  include(ScenarioAPICPack)
endif()