Skip to content

Merge pull request #154 from EmixamPP/v6 #25

Merge pull request #154 from EmixamPP/v6

Merge pull request #154 from EmixamPP/v6 #25

Workflow file for this run

name: "Build"
on:
workflow_dispatch:
workflow_call:
push:
env:
OPENCV_VERSION: "4.9.0"
YAML_VERSION: "0.8.0"
jobs:
build:
name: Building
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y python3-setuptools python3-wheel ninja-build g++ pkg-config libgtk-3-dev cmake curl
python -m pip install --upgrade pip
python -m pip install meson
- name: Cache OpenCV
id: opencv-cache
uses: actions/cache@v3
with:
path: opencv
key: opencv-${{ env.OPENCV_VERSION }}
- name: Build tiny static OpenCV
if: ${{ steps.opencv-cache.outputs.cache-hit != 'true' }}
run: |
mkdir -p opencv/build
curl -L https://github.com/opencv/opencv/archive/refs/tags/${{ env.OPENCV_VERSION }}.tar.gz | tar -xz -C opencv
cmake -B opencv/build -S opencv/opencv-${{ env.OPENCV_VERSION }} -GNinja \
-DBUILD_SHARED_LIBS=OFF -DOPENCV_GENERATE_PKGCONFIG=YES \
-DBUILD_LIST=videoio,highgui \
-DWITH_V4L=ON -DWITH_GTK=ON -DZLIB_FOUND=OFF -DBUILD_ZLIB=ON \
-DWITH_JPEG=OFF -DWITH_PNG=OFF -DWITH_TIFF=OFF -DWITH_WEBP=OFF -DWITH_OPENJPEG=OFF -DWITH_JASPER=OFF -DWITH_OPENEXR=OFF -DWITH_IMGCODEC_HDR=OFF -DWITH_IMGCODEC_SUNRASTER=OFF -DWITH_IMGCODEC_PXM=OFF -DWITH_IMGCODEC_PFM=OFF \
-DWITH_FFMPEG=FALSE -DWITH_GSTREAMER=OFF -DWITH_1394=OFF -DDVIDEOIO_ENABLE_PLUGINS=OFF -DWITH_ANDROID_MEDIANDK=OFF \
-DHIGHGUI_ENABLE_PLUGINS=OFF -DWITH_VTK=OFF \
-DWITH_PROTOBUF=OFF -DOPENCV_DNN_OPENCL=OFF \
-DWITH_VA_INTEL=OFF -DWITH_OPENCL=OFF -DWITH_OPENCL_SVM=OFF -DWITH_OPENCLAMDFFT=OFF -DWITH_OPENCLAMDBLAS=OFF -DWITH_OPENCL_D3D11_NV=OFF \
-DWITH_CAROTENE=OFF -DWITH_CPUFEATURES=OFF -DWITH_EIGEN=OFF -DWITH_OPENVX=OFF -DWITH_DIRECTX=OFF -DWITH_VA=OFF -DWITH_LAPACK=OFF -DWITH_QUIRC=OFF -DBUILD_ITT=OFF -DWITH_IPP=OFF -DBUILD_IPP_IW=OFF
ninja -C opencv/build
- name: Cache YAML
id: yaml-cache
uses: actions/cache@v3
with:
path: yaml
key: yaml-${{ env.YAML_VERSION }}
- name: Build minimal static YAML
if: ${{ steps.yaml-cache.outputs.cache-hit != 'true' }}
run: |
mkdir -p yaml/build
curl -L https://github.com/jbeder/yaml-cpp/archive/refs/tags/${{ env.YAML_VERSION }}.tar.gz | tar -xz -C yaml
cmake -B yaml/build -S yaml/yaml-cpp-${{ env.YAML_VERSION }} -GNinja \
-DYAML_BUILD_SHARED_LIBS=OFF -DYAML_CPP_BUILD_CONTRIB=OFF -DYAML_CPP_BUILD_TOOLS=OFF
ninja -C yaml/build
- name: Install OpenCV and YAML
run: |
sudo ninja install -C opencv/build
sudo ninja install -C yaml/build
- name: Setup build
run: |
meson setup build --libdir=lib --prefer-static
- name: Compile
run: |
meson compile -C build
- name: Create tarball
run: |
DESTDIR=install_dir_systemd meson install -C build
tar -czvf build/linux-enable-ir-emitter.systemd.x86-64.tar.gz -C build/install_dir_systemd .
- name: Upload tarball
uses: actions/upload-artifact@v4
with:
name: linux-enable-ir-emitter.systemd.x86-64.tar.gz
path: build/linux-enable-ir-emitter.systemd.x86-64.tar.gz