Skip to content

Initialize GLEW if libprojectM uses it. #70

Initialize GLEW if libprojectM uses it.

Initialize GLEW if libprojectM uses it. #70

Workflow file for this run

# Build check workflow
# Used to check if projectMSDL compiles with upstream master of libprojectM.
# The resulting binaries are not considered for public use though.
name: Build Check
on: [ push, pull_request ]
jobs:
build-linux:
name: Ubuntu Linux, x86_64
runs-on: ubuntu-latest
steps:
- name: Install Build Dependencies
run: |
sudo apt update
sudo apt install build-essential libgl1-mesa-dev mesa-common-dev libsdl2-dev libpoco-dev ninja-build libssl-dev
# We need to build/link Poco ourselves as static libraries, because Ubuntu Jammy ships with a broken Poco 1.11.0
- name: Checkout Poco Sources
uses: actions/checkout@v3
with:
repository: pocoproject/poco
path: poco
ref: 'poco-1.12.2'
submodules: recursive
- name: Build Poco
run: |
mkdir cmake-build-poco
cmake -G Ninja -S poco -B cmake-build-poco -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install-poco -DENABLE_MONGODB=OFF -DENABLE_REDIS=OFF -DENABLE_PAGECOMPILER=OFF -DENABLE_PAGECOMPILER_FILE2PAGE=OFF -DENABLE_ACTIVERECORD=OFF -DENABLE_ACTIVERECORD_COMPILER=OFF -DENABLE_DATA_ODBC=OFF -DENABLE_DATA_POSTGRESQL=OFF -DENABLE_DATA_MYSQL=OFF -DENABLE_JWT=OFF -DENABLE_PROMETHEUS=OFF
cmake --build cmake-build-poco --parallel
cmake --install "${{ github.workspace }}/cmake-build-poco"
- name: Checkout libprojectM Sources
uses: actions/checkout@v3
with:
repository: projectM-visualizer/projectm
path: projectm
submodules: recursive
- name: Build/Install libprojectM
run: |
mkdir cmake-build-libprojectm
cmake -G Ninja -S projectm -B cmake-build-libprojectm -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install-libprojectm
cmake --build cmake-build-libprojectm --parallel
cmake --install "${{ github.workspace }}/cmake-build-libprojectm"
- name: Checkout frontend-sdl2 Sources
uses: actions/checkout@v3
with:
path: frontend-sdl2
submodules: recursive
- name: Build frontend-sdl2
run: |
mkdir cmake-build-frontend-sdl2
cmake -G Ninja -S frontend-sdl2 -B cmake-build-frontend-sdl2 -DCMAKE_BUILD_TYPE=Release "-DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/install-libprojectm;${GITHUB_WORKSPACE}/install-poco" "-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install-frontend-sdl2"
cmake --build cmake-build-frontend-sdl2 --parallel
# cmake --install "${{ github.workspace }}/cmake-build-frontend-sdl2"
build-windows:
name: Windows, x64
runs-on: windows-latest
steps:
- name: Setup MSVC dev command prompt
uses: TheMrMilchmann/setup-msvc-dev@v3
with:
arch: x64
toolset: 14.38.33130
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Checkout libprojectM Sources
uses: actions/checkout@v3
with:
repository: projectM-visualizer/projectm
path: projectm
submodules: recursive
- name: Build/Install libprojectM
env:
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
run: |
mkdir cmake-build-libprojectm
cmake -G "Visual Studio 17 2022" -A "X64" -S "${{ github.workspace }}/projectm" -B "${{ github.workspace }}/cmake-build-libprojectm" -DCMAKE_TOOLCHAIN_FILE="${Env:VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install-libprojectm" -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_VERBOSE_MAKEFILE=YES -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=NO
cmake --build "${{ github.workspace }}/cmake-build-libprojectm" --config Release --parallel
cmake --install "${{ github.workspace }}/cmake-build-libprojectm" --config Release
- name: Checkout projectMSDL Sources
uses: actions/checkout@v3
with:
path: frontend-sdl2
submodules: recursive
- name: Build projectMSDL
env:
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
run: |
mkdir cmake-build-frontend-sdl2
cmake -G "Visual Studio 17 2022" -A "X64" -S "${{ github.workspace }}/frontend-sdl2" -B "${{ github.workspace }}/cmake-build-frontend-sdl2" -DCMAKE_TOOLCHAIN_FILE="${Env:VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_PREFIX_PATH="${{ github.workspace }}/install-libprojectm" -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install-frontend-sdl2" -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_VERBOSE_MAKEFILE=YES -DSDL2_LINKAGE=static -DBUILD_TESTING=YES
cmake --build "${{ github.workspace }}/cmake-build-frontend-sdl2" --parallel --config Release
# cmake --install "${{ github.workspace }}/cmake-build-frontend-sdl2" --config Release
build-darwin:
name: macOS, x86_64
runs-on: macos-latest
steps:
- name: Install Build Dependencies
run: brew install sdl2 ninja googletest poco
- name: Checkout libprojectM Sources
uses: actions/checkout@v3
with:
repository: projectM-visualizer/projectm
path: projectm
submodules: recursive
- name: Build/Install libprojectM
run: |
mkdir cmake-build-libprojectm
cmake -G Ninja -S "${{ github.workspace }}/projectm" -B "${{ github.workspace }}/cmake-build-libprojectm" -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}//install-libprojectm"
cmake --build "${{ github.workspace }}/cmake-build-libprojectm" --parallel
cmake --install "${{ github.workspace }}/cmake-build-libprojectm"
- name: Checkout projectMSDL Sources
uses: actions/checkout@v3
with:
path: frontend-sdl2
submodules: recursive
- name: Build projectMSDL
run: |
mkdir cmake-build-frontend-sdl2
cmake -G Ninja -S "${{ github.workspace }}/frontend-sdl2" -B "${{ github.workspace }}/cmake-build-frontend-sdl2" -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="${{ github.workspace }}/install-libprojectm" -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}//install-frontend-sdl2"
cmake --build "${{ github.workspace }}/cmake-build-frontend-sdl2" --parallel
# cmake --install "${{ github.workspace }}/cmake-build-frontend-sdl2"