-
Notifications
You must be signed in to change notification settings - Fork 0
94 lines (93 loc) · 3.59 KB
/
pluginbuild.yml
File metadata and controls
94 lines (93 loc) · 3.59 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
on:
push
jobs:
build:
runs-on: ubuntu-latest
name: Linux-x64
env:
SC_PATH: ${{ github.workspace }}/supercollider
OPENPOSE_PATH: ${{ github.workspace }}/openpose
LIBFREENECT_PATH: ${{ github.workspace }}/libfreenect2
BUILD_PATH: ${{ github.workspace }}/build
INSTALL_PATH: ${{ github.workspace }}/build/Install
steps:
- name: Checkout Kinect
uses: actions/checkout@v3
- name: Checkout OpenPose
uses: actions/checkout@v3
with:
repository: AlecDusheck/openpose
path: ${{ env.OPENPOSE_PATH }}
ref: master
- name: Checkout Libfreenect2
uses: actions/checkout@v3
with:
repository: OpenKinect/libfreenect2
path: ${{ env.LIBFREENECT_PATH }}
ref: master
- name: Checkout SuperCollider
uses: actions/checkout@v3
with:
repository: supercollider/supercollider
path: ${{ env.SC_PATH }}
ref: main
- name: Create Build Environment
shell: bash
run: cmake -E make_directory $BUILD_PATH
- name: Install OpenPose Dependencies
shell: bash
working-directory: ${{ env.OPENPOSE_PATH }}
run: sudo apt-get install libopencv-dev && sudo bash ./scripts/ubuntu/install_deps.sh
- name: Install Libfreenect2 Dependencies
shell: bash
working-directory: ${{ env.LIBFREENECT_PATH }}
run: sudo apt-get install libusb-1.0-0-dev libturbojpeg0-dev libglfw3-dev
- name: Configure OpenPose
shell: bash
working-directory: ${{ env.OPENPOSE_PATH }}
run: |
mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE='Release' -DENABLE_PYTHON=OFF -DENABLE_PYTHON_BINDINGS=OFF -DGPU_MODE=CPU_ONLY -DUSE_CUDA=OFF -DDOWNLOAD_BODY_25_MODEL=OFF -DDOWNLOAD_BODY_COCO_MODEL=OFF -DDOWNLOAD_FACE_MODEL=OFF -DDOWNLOAD_HAND_MODEL=OFF -DBUILD_SHARED_LIBS=OFF -DPOSE_BUILD_STATIC_LIBS=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON
- name: Fix CAFFE SetTotalBytesLimit
shell: bash
working-directory: ${{ env.OPENPOSE_PATH }}
run: |
find . -name "io.cpp" -path "*/caffe/src/caffe/util/*" -type f -exec sed -i 's/SetTotalBytesLimit(.*,.*)/SetTotalBytesLimit(kProtoReadBytesLimit)/g' {} +
- name: Build and Install OpenPose
shell: bash
working-directory: ${{ env.OPENPOSE_PATH }}
run: |
cd build
make -j$(nproc)
sudo make install
- name: Build and Install Libfreenect2
shell: bash
working-directory: ${{ env.LIBFREENECT_PATH }}
run: |
mkdir -p build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_EXAMPLES=OFF -DBUILD_OPENNI2_DRIVER=OFF -DENABLE_OPENCL=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON
make -j$(nproc)
sudo make install
- name: Configure CMake
shell: bash
working-directory: ${{ env.BUILD_PATH }}
run: cmake .. -DCMAKE_BUILD_TYPE='Release' -DSC_PATH="$SC_PATH" -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH"
- name: Build Plugin
shell: bash
working-directory: ${{ env.BUILD_PATH }}
env:
CMAKE_BUILD_PARALLEL_LEVEL: 4
run: cmake --build . --config "Release" --target install
- name: Create Archive
shell: bash
working-directory: ${{ env.BUILD_PATH }}
run: |
mkdir -p ${{ env.BUILD_PATH }}/archive
zip -r ${{ env.BUILD_PATH }}/archive/Kinect-${{ runner.os }}.zip ${{ env.INSTALL_PATH }}
- name: Upload Archive
uses: actions/upload-artifact@v4
with:
name: Kinect-${{ runner.os }}.zip
path: ${{ env.BUILD_PATH }}/archive/Kinect-${{ runner.os }}.zip