diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml index 454d91b..9e90bf5 100644 --- a/.github/workflows/documentation.yaml +++ b/.github/workflows/documentation.yaml @@ -8,14 +8,10 @@ on: env: CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules -permissions: - contents: write - - jobs: build: name: Build and publish documentation - runs-on: ubuntu-latest + runs-on: macos-latest steps: - uses: actions/checkout@v3 @@ -24,22 +20,18 @@ jobs: path: "**/cpm_modules" key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }} - - name: Install python dependencies + - name: Install dependencies run: | - pip3 install jinja2==3.1.6 Pygments==2.19.1 + brew install doxygen + pip3 install jinja2 Pygments - - name: Install Doxygen - uses: ssciwr/doxygen-install@v1 - with: - version: "1.13.2" - - name: Build run: | cmake -Sdocumentation -Bbuild cmake --build build --target GenerateDocs - name: Publish - uses: peaceiris/actions-gh-pages@v4 + uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./build/doxygen/html diff --git a/CMakeLists.txt b/CMakeLists.txt index 31cf517..8e686d9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,7 @@ CPMAddPackage("gh:TheLartians/PackageProject.cmake@1.8.0") CPMAddPackage( NAME fmt - GIT_TAG 10.2.1 + GIT_TAG 9.1.0 GITHUB_REPOSITORY fmtlib/fmt OPTIONS "FMT_INSTALL YES" # create an installable target ) @@ -74,5 +74,5 @@ packageProject( INCLUDE_DESTINATION include/${PROJECT_NAME}-${PROJECT_VERSION} VERSION_HEADER "${VERSION_HEADER_LOCATION}" COMPATIBILITY SameMajorVersion - DEPENDENCIES "fmt 10.2.1" + DEPENDENCIES "fmt 8.1.1" ) diff --git a/cmake/CPM.cmake b/cmake/CPM.cmake index baf2d8c..a10f926 100644 --- a/cmake/CPM.cmake +++ b/cmake/CPM.cmake @@ -1,11 +1,8 @@ -# SPDX-License-Identifier: MIT -# -# SPDX-FileCopyrightText: Copyright (c) 2019-2023 Lars Melchior and contributors - -set(CPM_DOWNLOAD_VERSION 0.40.2) -set(CPM_HASH_SUM "c8cdc32c03816538ce22781ed72964dc864b2a34a310d3b7104812a5ca2d835d") +set(CPM_DOWNLOAD_VERSION 0.35.0) if(CPM_SOURCE_CACHE) + # Expand relative path. This is important if the provided path contains a tilde (~) + get_filename_component(CPM_SOURCE_CACHE ${CPM_SOURCE_CACHE} ABSOLUTE) 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") @@ -13,12 +10,12 @@ else() 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} -) +if(NOT (EXISTS ${CPM_DOWNLOAD_LOCATION})) + message(STATUS "Downloading CPM.cmake to ${CPM_DOWNLOAD_LOCATION}") + file(DOWNLOAD + https://github.com/cpm-cmake/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake + ${CPM_DOWNLOAD_LOCATION} + ) +endif() include(${CPM_DOWNLOAD_LOCATION}) diff --git a/cmake/tools.cmake b/cmake/tools.cmake index e884c36..2364da9 100644 --- a/cmake/tools.cmake +++ b/cmake/tools.cmake @@ -11,7 +11,7 @@ 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' if(USE_SANITIZER OR USE_STATIC_ANALYZER) - CPMAddPackage("gh:StableCoder/cmake-scripts#24.04") + CPMAddPackage("gh:StableCoder/cmake-scripts#1f822d1fc87c8d7720c074cde8a278b44963c354") if(USE_SANITIZER) include(${cmake-scripts_SOURCE_DIR}/sanitizers.cmake) @@ -54,21 +54,13 @@ if(USE_SANITIZER OR USE_STATIC_ANALYZER) include(${cmake-scripts_SOURCE_DIR}/tools.cmake) - if(${CLANG_TIDY}) - clang_tidy(${CLANG_TIDY_ARGS}) - endif() - - if(${IWYU}) - include_what_you_use(${IWYU_ARGS}) - endif() - - if(${CPPCHECK}) - 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.4") + CPMAddPackage("gh:TheLartians/Ccache.cmake@1.2.3") endif() diff --git a/documentation/pages/about.dox b/documentation/pages/about.dox index 59fc18f..8ca02c0 100644 --- a/documentation/pages/about.dox +++ b/documentation/pages/about.dox @@ -1,5 +1,5 @@ /** @page about About @section doc ModernCppStarter Documentation - This is the auto-generated documentation for the initial project of the ModernCppStarter. + This is the auto-generated documentation for the initial project of the ModernCppStater. It shows how we can use Doxygen to automatically build a browsable documentation for your projects. */