mirror of
				https://github.com/TheLartians/ModernCppStarter.git
				synced 2025-10-31 02:01:33 +01:00 
			
		
		
		
	Merge branch 'master' into feature/modernize-cmake
This commit is contained in:
		
						commit
						d25ad76019
					
				
					 12 changed files with 128 additions and 84 deletions
				
			
		|  | @ -48,6 +48,7 @@ parse: | |||
|       kwargs: | ||||
|         NAME: 1 | ||||
|         VERSION: 1 | ||||
|         NAMESPACE: 1 | ||||
|         INCLUDE_DIR: 1 | ||||
|         INCLUDE_DESTINATION: 1 | ||||
|         BINARY_DIR: 1 | ||||
|  |  | |||
							
								
								
									
										14
									
								
								.github/workflows/documentation.yaml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.github/workflows/documentation.yaml
									
										
									
									
										vendored
									
									
								
							|  | @ -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 | ||||
|  |  | |||
							
								
								
									
										39
									
								
								.github/workflows/install.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								.github/workflows/install.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -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 | ||||
|  |  | |||
							
								
								
									
										29
									
								
								.github/workflows/macos.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								.github/workflows/macos.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -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 | ||||
|  |  | |||
							
								
								
									
										27
									
								
								.github/workflows/standalone.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								.github/workflows/standalone.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -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 | ||||
|  |  | |||
							
								
								
									
										31
									
								
								.github/workflows/style.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								.github/workflows/style.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -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 | ||||
|  |  | |||
							
								
								
									
										33
									
								
								.github/workflows/ubuntu.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								.github/workflows/ubuntu.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -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" | ||||
|  |  | |||
							
								
								
									
										29
									
								
								.github/workflows/windows.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								.github/workflows/windows.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -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
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1,3 +1,4 @@ | |||
| /build* | ||||
| /.vscode | ||||
| /cpm_modules | ||||
| .DS_Store | ||||
|  | @ -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} | ||||
|  |  | |||
|  | @ -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 ---- | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue