Skip to content
Snippets Groups Projects
Commit 760ae39a authored by Jupp Tscheak's avatar Jupp Tscheak
Browse files

Merge branch 'mb_provision_of_cmake_format_proposal' into 'master'

Initial provision of cmake-format configuration file.

See merge request eclipse/simopenpass/scenario_api!8
parents 183adee8 8db33614
No related branches found
No related tags found
1 merge request!8Initial provision of cmake-format configuration file.
line_width: 120
tab_size: 2
max_subgroups_hwrap: 2
max_pargs_hwrap: 6
separate_ctrl_name_with_space: false
separate_fn_name_with_space: false
dangle_parens: true
dangle_align: prefix
min_prefix_chars: 4
max_prefix_chars: 10
max_lines_hwrap: 2
line_ending: unix
command_case: canonical
keyword_case: upper
additional_commands:
configure_package_config_file:
flags:
- NO_SET_AND_CHECK_MACRO
- NO_CHECK_REQUIRED_COMPONENTS_MACRO
kwargs:
INSTALL_DESTINATION: "*"
PATH_VARS: "*"
INSTALL_PREFIX: "*"
find_dependency:
flags:
- CONFIG
- QUIET
- REQUIRED
kwargs:
COMPONENTS: "*"
gtest_discover_tests:
flags:
- NO_PRETTY_TYPES
- NO_PRETTY_VALUES
kwargs:
EXTRA_ARGS: "*"
WORKING_DIRECTORY: "*"
TEST_PREFIX: "*"
TEST_SUFFIX: "*"
PROPERTIES: "*"
TEST_LIST: "*"
DISCOVERY_TIMEOUT: "*"
setup_target_for_coverage_gcovr_html:
kwargs:
BASE_DIRECTORY: "*"
EXCLUDE: "*"
EXECUTABLE: "*"
EXECUTABLE_ARGS: "*"
DEPENDENCIES: "*"
always_wrap: ["add_library", "find_package", "find_dependency", "target_include_directories"]
enable_sort: true
autosort: false
hashruler_min_length: 10
per_command: {}
layout_passes: {}
bullet_char: "*"
enum_char: .
enable_markup: true
first_comment_is_literal: true
literal_comment_pattern: null
fence_pattern: ^\s*([`~]{3}[`~]*)(.*)$
ruler_pattern: ^\s*[^\w\s]{3}.*[^\w\s]{3}$
canonicalize_hashrulers: true
emit_byteorder_mark: false
input_encoding: utf-8
output_encoding: utf-8
......@@ -8,7 +8,7 @@
# SPDX-License-Identifier: EPL-2.0
################################################################################
cmake_minimum_required(VERSION 3.14.0 FATAL_ERROR)
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")
......@@ -17,7 +17,8 @@ project(
ScenarioAPI
VERSION 0.1.0
DESCRIPTION "Scenario API, an abstraction layer for environmental simulators"
LANGUAGES CXX)
LANGUAGES CXX
)
# Project setup only if this is the main project
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
......@@ -30,8 +31,7 @@ endif()
add_subdirectory(MantleAPI)
# Should we build documentation for the project?
if((CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND BUILD_DOCUMENTATION)
OR ScenarioAPI_BUILD_DOCUMENTATION)
if((CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND BUILD_DOCUMENTATION) OR ScenarioAPI_BUILD_DOCUMENTATION)
add_subdirectory(doc)
endif()
......
......@@ -8,15 +8,22 @@
# SPDX-License-Identifier: EPL-2.0
################################################################################
find_package(units CONFIG REQUIRED)
find_package(
units CONFIG REQUIRED
)
file(
GLOB_RECURSE HEADERS
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
CONFIGURE_DEPENDS "*.h")
CONFIGURE_DEPENDS "*.h"
)
add_library(ScenarioAPI INTERFACE)
add_library(ScenarioAPI::ScenarioAPI ALIAS ScenarioAPI)
add_library(
ScenarioAPI INTERFACE
)
add_library(
ScenarioAPI::ScenarioAPI ALIAS ScenarioAPI
)
target_link_libraries(ScenarioAPI INTERFACE units)
......@@ -24,21 +31,24 @@ include(GNUInstallDirs)
set(INSTALL_CONFIG_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/ScenarioAPI")
target_include_directories(
ScenarioAPI INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
ScenarioAPI
INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)
target_compile_features(ScenarioAPI INTERFACE cxx_std_17)
include(CMakePackageConfigHelpers)
configure_package_config_file(
"${PROJECT_SOURCE_DIR}/cmake/ScenarioAPIConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/ScenarioAPIConfig.cmake"
"${PROJECT_SOURCE_DIR}/cmake/ScenarioAPIConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/ScenarioAPIConfig.cmake"
INSTALL_DESTINATION ${INSTALL_CONFIG_DIR}
PATH_VARS CMAKE_INSTALL_INCLUDEDIR)
PATH_VARS CMAKE_INSTALL_INCLUDEDIR
)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/ScenarioAPIConfigVersion.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY SameMajorVersion)
COMPATIBILITY SameMajorVersion
)
install(DIRECTORY MantleAPI TYPE INCLUDE)
install(TARGETS ScenarioAPI EXPORT ScenarioAPITargets)
......@@ -46,10 +56,12 @@ install(TARGETS ScenarioAPI EXPORT ScenarioAPITargets)
install(
EXPORT ScenarioAPITargets
DESTINATION ${INSTALL_CONFIG_DIR}
NAMESPACE ScenarioAPI::)
NAMESPACE ScenarioAPI::
)
install(
FILES "${CMAKE_CURRENT_BINARY_DIR}/ScenarioAPIConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/ScenarioAPIConfigVersion.cmake"
DESTINATION ${INSTALL_CONFIG_DIR}
COMPONENT dev)
COMPONENT dev
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment