Skip to content

Merge pull request #310 from s9w/patch-1 #129

Merge pull request #310 from s9w/patch-1

Merge pull request #310 from s9w/patch-1 #129

Workflow file for this run

name: CMake
on: [push]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
OPENCV_DIR: C:/opencv/
jobs:
build_compressonator_cli:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
run: cmake -E make_directory ${{github.workspace}}/build/bin
- name: Sync external libs
working-directory: ${{github.workspace}}/build
run: python fetch_dependencies.py
- name: Configure CMake
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash
working-directory: ${{github.workspace}}/build/bin
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DOPTION_ENABLE_ALL_APPS=OFF -DOPTION_BUILD_APPS_CMP_CLI=ON
- name: Build
working-directory: ${{github.workspace}}/build/bin
shell: bash
# Execute the build. You can specify a specific target with "--target <NAME>"
run: cmake --build . --config $BUILD_TYPE
- name: Upload Build Artifacts
uses: actions/upload-artifact@v3
with:
name: CompressonatorCLI_64_Windows_Master_Build
path: ${{github.workspace}}/build/bin/bin/Release
build_compressonator_framework:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
run: cmake -E make_directory ${{github.workspace}}/build/bin
- name: Sync external libs
working-directory: ${{github.workspace}}/build/
run: python fetch_dependencies.py
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.1
- name: Build Framework Release Win32
run: 'msbuild -target:build -property:Configuration=Release -property:Platform=Win32 -m build_sdk\cmp_framework.sln'
- name: Build Framework Debug Win32
run: 'msbuild -target:build -property:Configuration=Debug -property:Platform=Win32 -m build_sdk\cmp_framework.sln'
- name: Build Framework Release x64
run: 'msbuild -target:build -property:Configuration=Release -property:Platform=x64 -m build_sdk\cmp_framework.sln'
- name: Build Framework Debug x64
run: 'msbuild -target:build -property:Configuration=Debug -property:Platform=x64 -m build_sdk\cmp_framework.sln'
- name: Build Framework Release_MD Win32
run: 'msbuild -target:build -property:Configuration=Release_MD -property:Platform=Win32 -m build_sdk\cmp_framework.sln'
- name: Build Framework Debug_MD Win32
run: 'msbuild -target:build -property:Configuration=Debug_MD -property:Platform=Win32 -m build_sdk\cmp_framework.sln'
- name: Build Framework Release_MD x64
run: 'msbuild -target:build -property:Configuration=Release_MD -property:Platform=x64 -m build_sdk\cmp_framework.sln'
- name: Build Framework Debug_MD x64
run: 'msbuild -target:build -property:Configuration=Debug_MD -property:Platform=x64 -m build_sdk\cmp_framework.sln'
- name: Build Framework Release_DLL Win32
run: 'msbuild -target:build -property:Configuration=Release_DLL -property:Platform=Win32 -m build_sdk\cmp_framework.sln'
- name: Build Framework Debug_DLL Win32
run: 'msbuild -target:build -property:Configuration=Debug_DLL -property:Platform=Win32 -m build_sdk\cmp_framework.sln'
- name: Build Framework Release_DLL x64
run: 'msbuild -target:build -property:Configuration=Release_DLL -property:Platform=x64 -m build_sdk\cmp_framework.sln'
- name: Build Framework Debug_DLL x64
run: 'msbuild -target:build -property:Configuration=Debug_DLL -property:Platform=x64 -m build_sdk\cmp_framework.sln'
- name: Build Framework Release_MD_DLL Win32
run: 'msbuild -target:build -property:Configuration=Release_MD_DLL -property:Platform=Win32 -m build_sdk\cmp_framework.sln'
- name: Build Framework Debug_MD_DLL Win32
run: 'msbuild -target:build -property:Configuration=Debug_MD_DLL -property:Platform=Win32 -m build_sdk\cmp_framework.sln'
- name: Build Framework Release_MD_DLL x64
run: 'msbuild -target:build -property:Configuration=Release_MD_DLL -property:Platform=x64 -m build_sdk\cmp_framework.sln'
- name: Build Framework Debug_MD_DLL x64
run: 'msbuild -target:build -property:Configuration=Debug_MD_DLL -property:Platform=x64 -m build_sdk\cmp_framework.sln'
- name: Create folder structure for build results
run: |
mkdir CompressonatorFramework_result\lib\encoders
mkdir CompressonatorFramework_result\include
mkdir CompressonatorFramework_result\lib\build_sdk\x64
mkdir CompressonatorFramework_result\lib\build_sdk\x86
- name: Copy files into build results directory
shell: bash
run: |
cp build/Release*/x64/{*.lib,*.dll} CompressonatorFramework_result/lib/build_sdk/x64/
cp build/Release*/Win32/{*.lib,*.dll} CompressonatorFramework_result/lib/build_sdk/x86/
cp build/Debug*/x64/{*.lib,*.dll} CompressonatorFramework_result/lib/build_sdk/x64/
cp build/Debug*/Win32/{*.lib,*.dll} CompressonatorFramework_result/lib/build_sdk/x86/
cp build/Release/x64/Plugins/Compute/{*.h,*.hlsl,*.cpp} CompressonatorFramework_result/lib/encoders/
cp cmp_compressonatorlib/compressonator.h CompressonatorFramework_result/include/
# Will probably want to collect the files into a better structure before running this command
- name: Upload Build Artifacts
uses: actions/upload-artifact@v3
with:
name: CompressonatorFramework_Windows_Master_Build
path: CompressonatorFramework_result/