Skip to content

Utility for marking type as string/array #154

Utility for marking type as string/array

Utility for marking type as string/array #154

Workflow file for this run

name: Build
on: [push, pull_request]
jobs:
MSVC:
runs-on: windows-2022
name: Windows MSVC
env:
VCPKG_BUILD_TYPE: release
VCPKG_DEFAULT_TRIPLET: x64-windows
steps:
- uses: actions/checkout@v4
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
- name: Configure
run: >
cmake
-S ${{github.workspace}}
-B build
-G Ninja
-DCMAKE_CXX_STANDARD=20
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake"
-Dasbind_build_ext=1
-Dasbind_build_test=1
- name: Build
run: cmake --build ${{github.workspace}}/build
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest
GCC:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
gcc: [12, 13, 14]
name: Linux GCC ${{matrix.gcc}}
env:
VCPKG_BUILD_TYPE: release
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build gcc-${{matrix.gcc}} g++-${{matrix.gcc}}
- name: Install AngelScript
working-directory: /usr/local/share/vcpkg
run: ./vcpkg install angelscript
- name: Configure
run: >
cmake
-S ${{github.workspace}}
-B build
-G Ninja
-DCMAKE_CXX_STANDARD=20
-DCMAKE_C_COMPILER=gcc-${{matrix.gcc}}
-DCMAKE_CXX_COMPILER=g++-${{matrix.gcc}}
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_TOOLCHAIN_FILE="${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake"
-Dasbind_build_ext=1
-Dasbind_build_test=1
- name: Build
run: cmake --build ${{github.workspace}}/build
- name: Install
working-directory: ${{github.workspace}}/build
run: sudo cmake --install .
- name: Test Installation
run: |
cmake -GNinja -S test/test_install/ -B build/asbind20_test_install -DCMAKE_CXX_COMPILER=g++-${{matrix.gcc}} -DCMAKE_TOOLCHAIN_FILE="${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake"
cmake --build build/asbind20_test_install
build/asbind20_test_install/asbind20_test_install
- name: Test add_subdirectory
run: |
cmake -GNinja -S test/test_subdir/ -B build/asbind20_test_subdir -DCMAKE_CXX_COMPILER=g++-${{matrix.gcc}} -DCMAKE_TOOLCHAIN_FILE="${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake"
cmake --build build/asbind20_test_subdir
build/asbind20_test_subdir/asbind20_test_subdir
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest
Clang:
runs-on: ubuntu-24.04
name: Linux Clang 18
env:
VCPKG_BUILD_TYPE: release
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build clang-18 clang++-18
- name: Install AngelScript
working-directory: /usr/local/share/vcpkg
run: ./vcpkg install angelscript
- name: Configure
run: >
cmake
-S ${{github.workspace}}
-B build
-G Ninja
-DCMAKE_CXX_STANDARD=20
-DCMAKE_C_COMPILER=clang-18
-DCMAKE_CXX_COMPILER=clang++-18
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_TOOLCHAIN_FILE="${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake"
-Dasbind_build_ext=1
-Dasbind_build_test=1
- name: Build
run: cmake --build ${{github.workspace}}/build
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest
Emscripten:
runs-on: ubuntu-24.04
name: Emscripten
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build
- name: Setup emsdk
uses: mymindstorm/setup-emsdk@v14
- name: Install AngelScript
working-directory: /tmp
run: |
git clone https://github.com/codecat/angelscript-mirror.git
cd angelscript-mirror
git reset --hard d259eab41fd08fbde83cf1a7b01f4def6a09e895 # 2.37.0
cd sdk/angelscript/projects/cmake
emcmake cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-fexceptions -S . -B build
cmake --build build
cmake --install build
- name: Configure
run: >
emcmake cmake
-S ${{github.workspace}}
-B build
-G Ninja
-DCMAKE_CXX_STANDARD=20
-DCMAKE_BUILD_TYPE=Release
-Dasbind_build_ext=1
-Dasbind_build_test=1
- name: Build
run: cmake --build ${{github.workspace}}/build
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest