Utility for marking type as string/array #154
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: 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 |