summaryrefslogtreecommitdiff
path: root/genqrcode/.github/workflows/cmake.yml
diff options
context:
space:
mode:
Diffstat (limited to 'genqrcode/.github/workflows/cmake.yml')
-rw-r--r--genqrcode/.github/workflows/cmake.yml55
1 files changed, 55 insertions, 0 deletions
diff --git a/genqrcode/.github/workflows/cmake.yml b/genqrcode/.github/workflows/cmake.yml
new file mode 100644
index 0000000000..1fd5c4d65d
--- /dev/null
+++ b/genqrcode/.github/workflows/cmake.yml
@@ -0,0 +1,55 @@
+name: CMake-build
+
+on: [push, pull_request]
+
+env:
+ BUILD_TYPE: Release
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ubuntu-latest, macos-latest, windows-latest]
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: run vcpkg
+ if: matrix.os == 'windows-latest'
+ uses: lukka/run-vcpkg@v6
+ with:
+ vcpkgArguments: getopt:x64-windows libiconv:x64-windows libpng:x64-windows
+ vcpkgDirectory: '${{ github.workspace }}/vcpkg'
+ vcpkgGitCommitId: '2a42024b53ebb512fb5dd63c523338bf26c8489c'
+ appendedCacheKey: ${{ hashFiles( '${{ github.workspace }}/.github/workflows/cmake.yml' ) }}
+
+ - name: brew setup
+ if: matrix.os == 'macos-latest'
+ run: brew install pkg-config libpng
+
+ - name: Create Build Environment
+ run: cmake -E make_directory ${{runner.workspace}}/build
+
+ - name: Configure CMake
+ if: matrix.os != 'windows-latest'
+ shell: bash
+ working-directory: ${{runner.workspace}}/build
+ run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DWITH_TESTS=yes -DBUILD_SHARED_LIBS=on
+
+ - name: Configure CMake for Windows
+ if: matrix.os == 'windows-latest'
+ shell: bash
+ working-directory: ${{runner.workspace}}/build
+ run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DWITH_TESTS=yes
+
+
+ - name: Build
+ working-directory: ${{runner.workspace}}/build
+ shell: bash
+ run: cmake --build . --config $BUILD_TYPE -j 2
+
+ - name: Test
+ working-directory: ${{runner.workspace}}/build
+ shell: bash
+ run: ctest -C $BUILD_TYPE