From 4aa9978dcd501438cd63805ce7599520b887f99d Mon Sep 17 00:00:00 2001 From: Tobias Schmidl Date: Fri, 6 Oct 2023 06:03:57 +0200 Subject: [PATCH] style: reformatted to make the CMake scripts more compact --- .cmake-format.yaml | 6 +-- CMakeLists.txt | 31 +++----------- all/CMakeLists.txt | 3 +- cmake/CPM.cmake | 11 +++-- cmake/tools.cmake | 81 ++++++++++++++---------------------- cmake/version-from-git.cmake | 7 +--- 6 files changed, 48 insertions(+), 91 deletions(-) diff --git a/.cmake-format.yaml b/.cmake-format.yaml index 4594291..51a8fd3 100644 --- a/.cmake-format.yaml +++ b/.cmake-format.yaml @@ -3,12 +3,12 @@ # SPDX-License-Identifier: AGPL-3.0-or-later --- format: - line_width: 120 + line_width: 140 tab_size: 4 use_tabchars: true fractional_tab_policy: round-up - max_subgroups_hwrap: 2 - max_pargs_hwrap: 3 + max_subgroups_hwrap: 3 + max_pargs_hwrap: 6 dangle_parens: true dangle_align: prefix min_prefix_chars: 0 diff --git a/CMakeLists.txt b/CMakeLists.txt index cac0369..e8720d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,18 +8,11 @@ include(cmake/version-from-git.cmake) # ---- Project ---- -project( - Glimpses - VERSION ${VERSION_STRING} - LANGUAGES CXX -) +project(Glimpses VERSION ${VERSION_STRING} LANGUAGES CXX) # ---- Include guards ---- if(PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR) - message( - FATAL_ERROR - "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there." - ) + message(FATAL_ERROR "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there.") endif() # ---- Add dependencies via CPM ---- @@ -30,22 +23,11 @@ include(cmake/CPM.cmake) # PackageProject.cmake will be used to make our target installable CPMAddPackage("gh:TheLartians/PackageProject.cmake@1.8.0") -# CPMAddPackage( NAME fmt GIT_TAG 9.1.0 GITHUB_REPOSITORY fmtlib/fmt OPTIONS "FMT_INSTALL YES" # create an installable -# target ) +# CPMAddPackage( NAME fmt GIT_TAG 9.1.0 GITHUB_REPOSITORY fmtlib/fmt OPTIONS "FMT_INSTALL YES" # create an installable target ) # ---- Add source files ---- -file( - GLOB_RECURSE - headers - CONFIGURE_DEPENDS - "${CMAKE_CURRENT_SOURCE_DIR}/include/*.h" -) -file( - GLOB_RECURSE - sources - CONFIGURE_DEPENDS - "${CMAKE_CURRENT_SOURCE_DIR}/source/*.cpp" -) +file(GLOB_RECURSE headers CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/include/*.h") +file(GLOB_RECURSE sources CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/source/*.cpp") # ---- Create library ---- @@ -60,8 +42,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE # fmt::fmt ) target_include_directories( - ${PROJECT_NAME} PUBLIC $ - $ + ${PROJECT_NAME} PUBLIC $ $ ) # the location where the project's version header will be placed should match the project's regular header paths diff --git a/all/CMakeLists.txt b/all/CMakeLists.txt index bb66c26..ade8fd0 100644 --- a/all/CMakeLists.txt +++ b/all/CMakeLists.txt @@ -2,8 +2,7 @@ # # SPDX-License-Identifier: CC0-1.0 -# this script adds all subprojects to a single build to allow IDEs understand the full project -# structure. +# this script adds all subprojects to a single build to allow IDEs understand the full project structure. cmake_minimum_required(VERSION 3.14...3.22) diff --git a/cmake/CPM.cmake b/cmake/CPM.cmake index a786712..f606c11 100644 --- a/cmake/CPM.cmake +++ b/cmake/CPM.cmake @@ -6,19 +6,18 @@ set(CPM_DOWNLOAD_VERSION 0.38.5) set(CPM_HASH_SUM "192aa0ccdc57dfe75bd9e4b176bf7fb5692fd2b3e3f7b09c74856fc39572b31c") if(CPM_SOURCE_CACHE) - set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake") + set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake") elseif(DEFINED ENV{CPM_SOURCE_CACHE}) - set(CPM_DOWNLOAD_LOCATION "$ENV{CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake") + set(CPM_DOWNLOAD_LOCATION "$ENV{CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake") else() - set(CPM_DOWNLOAD_LOCATION "${CMAKE_BINARY_DIR}/cmake/CPM_${CPM_DOWNLOAD_VERSION}.cmake") + set(CPM_DOWNLOAD_LOCATION "${CMAKE_BINARY_DIR}/cmake/CPM_${CPM_DOWNLOAD_VERSION}.cmake") endif() # Expand relative path. This is important if the provided path contains a tilde (~) get_filename_component(CPM_DOWNLOAD_LOCATION ${CPM_DOWNLOAD_LOCATION} ABSOLUTE) -file(DOWNLOAD - https://github.com/cpm-cmake/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake - ${CPM_DOWNLOAD_LOCATION} EXPECTED_HASH SHA256=${CPM_HASH_SUM} +file(DOWNLOAD https://github.com/cpm-cmake/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake ${CPM_DOWNLOAD_LOCATION} + EXPECTED_HASH SHA256=${CPM_HASH_SUM} ) include(${CPM_DOWNLOAD_LOCATION}) diff --git a/cmake/tools.cmake b/cmake/tools.cmake index d693dbb..027609b 100644 --- a/cmake/tools.cmake +++ b/cmake/tools.cmake @@ -2,69 +2,52 @@ # # SPDX-License-Identifier: CC0-1.0 -# this file contains a list of tools that can be activated and downloaded on-demand each tool is -# enabled during configuration by passing an additional `-DUSE_=` argument to CMake +# this file contains a list of tools that can be activated and downloaded on-demand each tool is enabled during configuration by passing an +# additional `-DUSE_=` argument to CMake # only activate tools for top level project if(NOT PROJECT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) - return() + return() endif() include(${CMAKE_CURRENT_LIST_DIR}/CPM.cmake) -# enables sanitizers support using the the `USE_SANITIZER` flag available values are: Address, -# Memory, MemoryWithOrigins, Undefined, Thread, Leak, 'Address;Undefined' +# enables sanitizers support using the the `USE_SANITIZER` flag available values are: Address, Memory, MemoryWithOrigins, Undefined, Thread, +# Leak, 'Address;Undefined' if(USE_SANITIZER OR USE_STATIC_ANALYZER) - CPMAddPackage("gh:StableCoder/cmake-scripts#1f822d1fc87c8d7720c074cde8a278b44963c354") + CPMAddPackage("gh:StableCoder/cmake-scripts#1f822d1fc87c8d7720c074cde8a278b44963c354") - if(USE_SANITIZER) - include(${cmake-scripts_SOURCE_DIR}/sanitizers.cmake) - endif() + if(USE_SANITIZER) + include(${cmake-scripts_SOURCE_DIR}/sanitizers.cmake) + endif() - if(USE_STATIC_ANALYZER) - if("clang-tidy" IN_LIST USE_STATIC_ANALYZER) - set(CLANG_TIDY - ON - CACHE INTERNAL "" - ) - else() - set(CLANG_TIDY - OFF - CACHE INTERNAL "" - ) - endif() - if("iwyu" IN_LIST USE_STATIC_ANALYZER) - set(IWYU - ON - CACHE INTERNAL "" - ) - else() - set(IWYU - OFF - CACHE INTERNAL "" - ) - endif() - if("cppcheck" IN_LIST USE_STATIC_ANALYZER) - set(CPPCHECK - ON - CACHE INTERNAL "" - ) - else() - set(CPPCHECK - OFF - CACHE INTERNAL "" - ) - endif() + # cmake-lint: disable=C0103 + if(USE_STATIC_ANALYZER) + if("clang-tidy" IN_LIST USE_STATIC_ANALYZER) + set(CLANG_TIDY ON CACHE INTERNAL "") + else() + set(CLANG_TIDY OFF CACHE INTERNAL "") + endif() + if("iwyu" IN_LIST USE_STATIC_ANALYZER) + set(IWYU ON CACHE INTERNAL "") + else() + set(IWYU OFF CACHE INTERNAL "") + endif() + if("cppcheck" IN_LIST USE_STATIC_ANALYZER) + set(CPPCHECK ON CACHE INTERNAL "") + else() + set(CPPCHECK OFF CACHE INTERNAL "") + endif() - include(${cmake-scripts_SOURCE_DIR}/tools.cmake) + include(${cmake-scripts_SOURCE_DIR}/tools.cmake) - clang_tidy(${CLANG_TIDY_ARGS}) - include_what_you_use(${IWYU_ARGS}) - cppcheck(${CPPCHECK_ARGS}) - endif() + clang_tidy(${CLANG_TIDY_ARGS}) + include_what_you_use(${IWYU_ARGS}) + cppcheck(${CPPCHECK_ARGS}) + endif() endif() # enables CCACHE support through the USE_CCACHE flag possible values are: YES, NO or equivalent if(USE_CCACHE) - CPMAddPackage("gh:TheLartians/Ccache.cmake@1.2.3") + CPMAddPackage("gh:TheLartians/Ccache.cmake@1.2.3") endif() diff --git a/cmake/version-from-git.cmake b/cmake/version-from-git.cmake index e25c9ba..06bb60e 100644 --- a/cmake/version-from-git.cmake +++ b/cmake/version-from-git.cmake @@ -12,12 +12,7 @@ execute_process( OUTPUT_STRIP_TRAILING_WHITESPACE ) if(GIT_DESCRIBE_ERROR_CODE EQUAL 0) - string( - REGEX MATCH - "^v?([0-9]+)(\\.([0-9]+))?(\\.([0-9]+))?(\\.([0-9]+))?.*$" - _ - "${GIT_DESCRIBE_VERSION_STRING}" - ) + string(REGEX MATCH "^v?([0-9]+)(\\.([0-9]+))?(\\.([0-9]+))?(\\.([0-9]+))?.*$" _ "${GIT_DESCRIBE_VERSION_STRING}") if(DEFINED CMAKE_MATCH_1) set(VERSION_STRING "${CMAKE_MATCH_1}") if(DEFINED CMAKE_MATCH_3)