Skip to content

Commit

Permalink
apply ModernCppStarter because I feel exhausted maintaining previous …
Browse files Browse the repository at this point in the history
…template
  • Loading branch information
Arniiiii committed Sep 23, 2024
1 parent 013cbdd commit ab444bb
Show file tree
Hide file tree
Showing 32 changed files with 1,235 additions and 1,822 deletions.
37 changes: 37 additions & 0 deletions .github/workflows/documentation.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
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@v3

- uses: actions/cache@v3
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}

- name: Install dependencies
run: |
brew install doxygen
pip3 install jinja2 Pygments
- name: Build
run: |
cmake -Sdocumentation -Bbuild
cmake --build build --target GenerateDocs
- name: Publish
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build/doxygen/html
44 changes: 44 additions & 0 deletions .github/workflows/install.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Install

on:
push:
branches:
- master
- main
pull_request:
branches:
- master
- main

env:
CTEST_OUTPUT_ON_FAILURE: 1
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- uses: actions/cache@v3
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}

- name: build and install library
run: |
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release --log-level=DEBUG
sudo cmake --build build --target install --verbose -j4
rm -rf build
- name: configure
run: cmake -Stest -Bbuild -DTEST_INSTALLED_VERSION=1 -DCPM_DOWNLOAD_ALL=1 -DCPM_SOURCE_CACHE=~/.cache/cpm --log-level=DEBUG

- name: build
run: cmake --build build --config Debug -j4 --verbose

- name: test
run: |
cd build
ctest --build-config Debug -j4
45 changes: 45 additions & 0 deletions .github/workflows/install_download_all.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Install_CPM_DOWNLOAD_ALL

on:
push:
branches:
- master
- main
pull_request:
branches:
- master
- main

env:
CTEST_OUTPUT_ON_FAILURE: 1
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- uses: actions/cache@v3
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}

- name: build and install library
run: |
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCPM_DOWNLOAD_ALL=1 --log-level=DEBUG
cmake --build build --target Greeter -j4 --verbose
cmake --install ./build --prefix ./install_dir
rm -rf build
- name: configure
run: CMAKE_PREFIX_PATH="./install_dir" cmake -Stest -Bbuild -DTEST_INSTALLED_VERSION=1 -DCPM_DOWNLOAD_ALL=1 -DCPM_SOURCE_CACHE=~/.cache/cpm --log-level=DEBUG

- name: build
run: cmake --build build --config Debug -j4 --verbose

- name: test
run: |
cd build
ctest --build-config Debug -j4
63 changes: 24 additions & 39 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,52 +2,37 @@ name: MacOS

on:
push:
branches: [ master ]
branches:
- master
- main
pull_request:
branches: [ master ]
branches:
- master
- main

env:
BUILD_TYPE: Release
INSTALL_LOCATION: .local
CTEST_OUTPUT_ON_FAILURE: 1
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules

jobs:
build:

runs-on: macos-latest
if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')"

steps:
- uses: actions/checkout@v2

- name: cache dependencies
uses: actions/cache@v2
id: cache
with:
path: ${{ github.workspace }}/${{ env.INSTALL_LOCATION }}
key: ${{ runner.os }}-dependencies

# - name: install GoogleTest
# if: ${{ steps.cache.output.cache-hit != 'true' }}
# run: |
# cd ..
# git clone https://github.com/google/googletest.git --branch release-1.10.0
# cd googletest
# cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/$INSTALL_LOCATION
# cmake --build build --config Release
# cmake --build build --target install --config Release
# cd ../modern-cpp-template

- name: configure
run: cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/$INSTALL_LOCATION

- name: build
run: cmake --build build --config $BUILD_TYPE -j4

- name: run tests
run: |
cd build
ctest -C $BUILD_TYPE -VV
- name: install project
run: cmake --build build --target install --config Release
- uses: actions/checkout@v3

- uses: actions/cache@v3
with:
path: "**/cpm_modules"
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}

- name: configure
run: cmake -Stest -Bbuild -DCMAKE_BUILD_TYPE=Debug --log-level=DEBUG

- name: build
run: cmake --build build -j4 --verbose

- name: test
run: |
cd build
ctest --build-config Debug -j4
189 changes: 0 additions & 189 deletions .github/workflows/release.yml

This file was deleted.

Loading

0 comments on commit ab444bb

Please sign in to comment.