This repository was archived by the owner on Apr 7, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 95
98 lines (87 loc) · 2.63 KB
/
build.yml
File metadata and controls
98 lines (87 loc) · 2.63 KB
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name: Build & Test
on:
pull_request:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
default:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
triplet: x64-windows-release
build_type: Release
test_target: RUN_TESTS
binary_cache: C:\Users\runneradmin\AppData\Local\vcpkg\archives
vcpkg_path: C:/vcpkg/installed/vcpkg/info/*
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Restore cache dependencies
uses: actions/cache/restore@v4
with:
path: ${{ matrix.binary_cache }}
key: ${{ matrix.os }}
restore-keys: ${{ matrix.os }}
- name: "Install dependencies"
run: >
vcpkg x-set-installed --triplet ${{ matrix.triplet }}
assimp
boost-dynamic-bitset
boost-filesystem
boost-graph
boost-odeint
boost-program-options
boost-serialization
boost-system
boost-test
boost-ublas
eigen3
fcl
pkgconf
- name: copy files for hash
shell: bash
run: |
VCPKG_BASH_PATH=${VCPKG_INSTALLATION_ROOT//\\//}
echo $VCPKG_BASH_PATH
mkdir -p vcpkg-info
find $VCPKG_BASH_PATH/installed/ -type f -name 'vcpkg_abi_info.txt' | \
while read filepath; do
triplet=$(echo "$filepath" | awk -F/ '{print $(NF-3)}')
port=$(echo "$filepath" | awk -F/ '{print $(NF-1)}')
cp "$filepath" "vcpkg-info/${triplet}_${port}.txt"
done
- name: Save cache dependencies
id: cache-save
uses: actions/cache/save@v4
with:
path: ${{ matrix.binary_cache }}
key: ${{ matrix.os }}-${{ hashFiles('vcpkg-info/*') }}
- name: cmake generate
shell: bash
run: >
cmake -B build
-DCMAKE_TOOLCHAIN_FILE=$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake
-DVCPKG_TARGET_TRIPLET=${{ matrix.triplet }}
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DOMPL_VERSIONED_INSTALL=OFF
-DOMPL_BUILD_DEMOS=OFF
-DOMPL_BUILD_PYBINDINGS=OFF
-DCMAKE_POLICY_DEFAULT_CMP0167=OLD
-DOMPL_REGISTRATION=OFF
- name: cmake build
shell: bash
run: |
cmake --build build --config ${{ matrix.build_type }} --target package
- name: test
shell: bash
run: |
cmake --build build --config ${{ matrix.build_type }} --target ${{ matrix.test_target }}