diff --git a/.cmake-format b/.cmake-format new file mode 100644 index 0000000000000000000000000000000000000000..9efd8b9ac62578c454263da0582cb2d16353fdbf --- /dev/null +++ b/.cmake-format @@ -0,0 +1,66 @@ +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 diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e38afb73f469cd17a60e4a4899b0e909a3f39dd..e66075d1bb844bb672e82e39545c8e357afc40e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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() diff --git a/MantleAPI/include/CMakeLists.txt b/MantleAPI/include/CMakeLists.txt index 70654a03b3484c8ae140d7bab97672e80c0d260e..9cf7e8d35e292b56a5c68d62a3d7ecab79dcdaa9 100644 --- a/MantleAPI/include/CMakeLists.txt +++ b/MantleAPI/include/CMakeLists.txt @@ -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 +)