-
Notifications
You must be signed in to change notification settings - Fork 45
61 lines (49 loc) · 1.65 KB
/
macos.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
name: macOS
on: [push, pull_request]
jobs:
xcode:
strategy:
fail-fast: false
matrix:
config: [Debug, Release]
runs-on: macos-latest
steps:
- uses: actions/[email protected]
with:
submodules: true
fetch-depth: 0
- name: Cache vcpkg
uses: actions/[email protected]
id: cache-vcpkg
with:
path: build/vcpkg_cache/
key: vcpkg-binaries-osx-${{ hashFiles('vcpkg.json') }}
- name: Create Build Environment
if: ${{ !steps.cache-vcpkg.outputs.cache-hit }}
run: |
cmake -E make_directory build
cmake -E make_directory build/vcpkg_cache
- name: Boostrap vcpkg
shell: pwsh
working-directory: vcpkg/
run: |
./bootstrap-vcpkg.sh
./vcpkg integrate install
- name: Configure
shell: pwsh
env:
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
working-directory: build/
run: |
$vcpkgToolchain = Join-Path $env:VCPKG_ROOT './scripts/buildsystems/vcpkg.cmake' -Resolve
$cmakeBuildType = '${{ matrix.config }}'
$cachedBinaries = Join-Path $(Get-Location) './vcpkg_cache/' -Resolve
$cacheAccess = $(if ('${{ steps.cache-vcpkg.outputs.cache-hit }}' -eq 'true') { 'read' } else { 'write' })
$env:VCPKG_BINARY_SOURCES = "clear;files,$cachedBinaries,$cacheAccess"
cmake "-DCMAKE_TOOLCHAIN_FILE=$vcpkgToolchain" "-DCMAKE_BUILD_TYPE=$cmakeBuildType" "-DGRAPHQL_BUILD_MODULES=OFF" ${{ github.workspace }}
- name: Build
working-directory: build/
run: cmake --build . -j -v
- name: Test
working-directory: build/
run: ctest --output-on-failure