1
0
Fork 0
mirror of https://github.com/TheLartians/ModernCppStarter.git synced 2025-08-30 21:51:12 +02:00

Merge branch 'master' into feature/modernize-cmake

This commit is contained in:
Claus Klein 2021-02-05 02:25:37 +01:00 committed by GitHub
commit d25ad76019
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 128 additions and 84 deletions

View file

@ -48,6 +48,7 @@ parse:
kwargs:
NAME: 1
VERSION: 1
NAMESPACE: 1
INCLUDE_DIR: 1
INCLUDE_DESTINATION: 1
BINARY_DIR: 1

View file

@ -3,14 +3,22 @@ name: Documentation
on:
push:
tags:
- '*'
- "*"
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
jobs:
build:
name: Build and publish documentation
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: Install dependencies
run: |
@ -19,7 +27,7 @@ jobs:
- name: Build
run: |
cmake -Hdocumentation -Bbuild
cmake -Sdocumentation -Bbuild
cmake --build build --target GenerateDocs
- name: Publish

View file

@ -10,28 +10,33 @@ on:
env:
CTEST_OUTPUT_ON_FAILURE: 1
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: build and install library
run: |
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release
sudo cmake --build build --target install
rm -rf build
- uses: actions/checkout@v2
- name: configure
run: cmake -Htest -Bbuild -DTEST_INSTALLED_VERSION=1
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: build
run: cmake --build build --config Debug -j4
- name: build and install library
run: |
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
sudo cmake --build build --target install
rm -rf build
- name: test
run: |
cd build
ctest --build-config Debug
- name: configure
run: cmake -Stest -Bbuild -DTEST_INSTALLED_VERSION=1
- name: build
run: cmake --build build --config Debug -j4
- name: test
run: |
cd build
ctest --build-config Debug

View file

@ -10,22 +10,27 @@ on:
env:
CTEST_OUTPUT_ON_FAILURE: 1
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
- name: configure
run: cmake -Htest -Bbuild
- uses: actions/checkout@v2
- name: build
run: cmake --build build --config Debug -j4
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: test
run: |
cd build
ctest --build-config Debug
- name: configure
run: cmake -Stest -Bbuild -DCMAKE_BUILD_TYPE=Debug
- name: build
run: cmake --build build -j4
- name: test
run: |
cd build
ctest --build-config Debug

View file

@ -8,19 +8,26 @@ on:
branches:
- master
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: configure
run: cmake -Hstandalone -Bbuild
- uses: actions/checkout@v2
- name: build
run: cmake --build build -j4
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: run
run: ./build/Greeter
- name: configure
run: cmake -Sstandalone -Bbuild -DCMAKE_BUILD_TYPE=Debug -DCMAKE_BUILD_TYPE=Debug
- name: build
run: cmake --build build -j4
- name: run
run: ./build/Greeter

View file

@ -8,21 +8,28 @@ on:
branches:
- master
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
- name: Install format dependencies
run: |
brew install clang-format
pip3 install cmake_format==0.6.11 pyyaml
- uses: actions/checkout@v2
- name: configure
run: cmake -Htest -Bbuild
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: check style
run: cmake --build build --target check-format
- name: Install format dependencies
run: |
brew install clang-format
pip3 install cmake_format==0.6.11 pyyaml
- name: configure
run: cmake -Stest -Bbuild
- name: check style
run: cmake --build build --target check-format

View file

@ -11,25 +11,30 @@ on:
env:
CTEST_OUTPUT_ON_FAILURE: 1
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: configure
run: cmake -Htest -Bbuild -DENABLE_TEST_COVERAGE=1
- uses: actions/checkout@v2
- name: build
run: cmake --build build --config Debug -j4
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: test
run: |
cd build
ctest --build-config Debug
- name: configure
run: cmake -Stest -Bbuild -DENABLE_TEST_COVERAGE=1 -DCMAKE_BUILD_TYPE=Debug
- name: collect code coverage
run: bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"
- name: build
run: cmake --build build -j4
- name: test
run: |
cd build
ctest --build-config Debug
- name: collect code coverage
run: bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"

View file

@ -10,22 +10,27 @@ on:
env:
CTEST_OUTPUT_ON_FAILURE: 1
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
- name: configure
run: cmake -Htest -Bbuild
- uses: actions/checkout@v2
- name: build
run: cmake --build build --config Debug -j4
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: test
run: |
cd build
ctest --build-config Debug
- name: configure
run: cmake -Stest -Bbuild
- name: build
run: cmake --build build --config Debug -j4
- name: test
run: |
cd build
ctest --build-config Debug

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
/build*
/.vscode
/cpm_modules
.DS_Store

View file

@ -84,6 +84,7 @@ string(TOLOWER ${PROJECT_NAME}/version.h VERSION_HEADER_LOCATION)
packageProject(
NAME ${PROJECT_NAME}
VERSION ${PROJECT_VERSION}
NAMESPACE ${PROJECT_NAME}
BINARY_DIR ${PROJECT_BINARY_DIR}
INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include
INCLUDE_DESTINATION include/${PROJECT_NAME}-${PROJECT_VERSION}

View file

@ -11,9 +11,8 @@ CPMAddPackage(NAME Greeter SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/..)
CPMAddPackage(
NAME MCSS
DOWNLOAD_ONLY YES
# TODO: patched version until https://github.com/mosra/m.css/pull/171 is resolved
GITHUB_REPOSITORY TheLartians/m.css
GIT_TAG 1bf162b96d5bfefc9967a80cef138f1270ffa415
GITHUB_REPOSITORY mosra/m.css
GIT_TAG 42d4a9a48f31f5df6e246c948403b54b50574a2a
)
# ---- Doxygen variables ----

View file

@ -27,4 +27,4 @@ add_executable(GreeterStandalone ${sources})
set_target_properties(GreeterStandalone PROPERTIES CXX_STANDARD 17 OUTPUT_NAME "Greeter")
target_link_libraries(GreeterStandalone Greeter cxxopts)
target_link_libraries(GreeterStandalone Greeter::Greeter cxxopts)