This repository has been archived by the owner on Dec 19, 2023. It is now read-only.
Fix Windows FramelessHelperHookWindowProc crash #423
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "CI: Build Test" | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- "**.md" | |
- "**.png" | |
- "**.jpg" | |
- "**.jpeg" | |
- ".gitignore" | |
workflow_dispatch: | |
pull_request: | |
jobs: | |
build: | |
name: Build | |
strategy: | |
matrix: | |
qt-version: [5.15.2, 6.5.3] | |
library-type: [shared, static] | |
platform: [windows-latest, ubuntu-latest, macos-latest] | |
include: | |
- platform: windows-latest | |
CC: cl.exe | |
CXX: cl.exe | |
LD: link.exe | |
EXTRA_FLAGS: -DFRAMELESSHELPER_ENABLE_SPECTRE=ON -DFRAMELESSHELPER_ENABLE_EHCONTGUARD=ON -DFRAMELESSHELPER_ENABLE_INTELCET=ON -DFRAMELESSHELPER_ENABLE_CFGUARD=ON | |
- platform: ubuntu-latest | |
CC: gcc | |
CXX: g++ | |
LD: ld | |
EXTRA_FLAGS: -DFRAMELESSHELPER_ENABLE_SPECTRE=ON -DFRAMELESSHELPER_ENABLE_INTELCET=ON -DFRAMELESSHELPER_ENABLE_CFGUARD=ON | |
- platform: macos-latest | |
CC: /usr/local/opt/llvm/bin/clang | |
CXX: /usr/local/opt/llvm/bin/clang++ | |
LD: /usr/local/opt/llvm/bin/ld64.lld | |
EXTRA_FLAGS: -DFRAMELESSHELPER_ENABLE_UNIVERSAL_BUILD=OFF | |
- library-type: shared | |
lib_type_flag: -DFRAMELESSHELPER_BUILD_STATIC=OFF | |
- library-type: static | |
lib_type_flag: -DFRAMELESSHELPER_BUILD_STATIC=ON | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Install Qt SDK | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt-version }} | |
cache: true | |
- name: Set up Ninja | |
uses: seanmiddleditch/gha-setup-ninja@v3 | |
with: | |
version: 1.11.1 # Current latest version. | |
- name: Set up MSVC environment | |
if: ${{ matrix.platform == 'windows-latest' }} | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Install Linux dependencies | |
if: ${{ matrix.platform == 'ubuntu-latest' }} | |
run: | | |
sudo apt install -y libgl1-mesa-dev libxcb1-dev libgtk-3-dev | |
- name: Install macOS dependencies | |
if: ${{ matrix.platform == 'macos-latest' }} | |
run: | | |
brew update | |
brew upgrade | |
brew install llvm | |
export PATH="/usr/local/opt/llvm/bin:$PATH" | |
- name: Build library with CMake | |
run: | | |
mkdir ci | |
cd ci | |
cmake -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_C_COMPILER=${{ matrix.CC }} -DCMAKE_CXX_COMPILER=${{ matrix.CXX }} -DCMAKE_LINKER=${{ matrix.LD }} -DCMAKE_INSTALL_PREFIX=../../install -DCMAKE_BUILD_TYPE=Release -DFRAMELESSHELPER_BUILD_EXAMPLES=ON -DFRAMELESSHELPER_NO_SUMMARY=OFF ${{ matrix.lib_type_flag }} ${{ matrix.EXTRA_FLAGS }} -GNinja .. | |
cmake --build . --target all --config Release --parallel | |
cmake --install . --config Release --strip |