Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
JunaMeinhold committed Oct 27, 2024
2 parents 64a299f + 281b086 commit fcee7a4
Showing 5 changed files with 115 additions and 24 deletions.
73 changes: 67 additions & 6 deletions .github/workflows/cimgui-android-cmake.yml
Original file line number Diff line number Diff line change
@@ -23,10 +23,18 @@ jobs:

steps:
- uses: actions/checkout@v4.1.7
if: matrix.lib != 'cimgui'
with:
repository: 'cimgui/cimgui'
path: 'cimgui'
submodules: true

- uses: actions/checkout@v4.1.7
if: matrix.lib == 'cimgui'
with:
repository: 'JunaMeinhold/cimgui'
path: 'cimgui'
submodules: true

- uses: actions/checkout@v4.1.7
if: matrix.lib == 'cimguizmo'
@@ -82,31 +90,84 @@ jobs:
echo "ANDROID_NDK_HOME=$ANDROID_HOME/ndk/26.3.11579264" >> $GITHUB_ENV
echo "PATH=$PATH:$ANDROID_HOME/ndk/26.3.11579264" >> $GITHUB_ENV
- name: Install vcpkg and FreeType
if: matrix.lib == 'cimgui'
run: |
cd ${{ matrix.lib }}
git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install freetype --triplet=arm64-android
./vcpkg/vcpkg install freetype --triplet=x64-android
- name: Build for arm64-v8a
if: matrix.lib == 'cimgui'
run: |
cd ${{ matrix.lib }}
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_ANDROID_NDK=$ANDROID_NDK_HOME \
-DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang \
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
-DCMAKE_ANDROID_API=21 \
-DCMAKE_TOOLCHAIN_FILE="./vcpkg/scripts/buildsystems/vcpkg.cmake" \
-DVCPKG_TARGET_TRIPLET=arm64-android \
-DIMGUI_WCHAR32=ON \
-DIMGUI_FREETYPE=ON \
-S ./ \
-B ./build/arm64-v8a
cmake --build ./build/arm64-v8a --config Release
- name: Build for x86_64
if: matrix.lib == 'cimgui'
run: |
cd ${{ matrix.lib }}
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_ANDROID_NDK=$ANDROID_NDK_HOME \
-DCMAKE_ANDROID_ARCH_ABI=x86_64 \
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang \
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
-DCMAKE_ANDROID_API=21 \
-DCMAKE_TOOLCHAIN_FILE="./vcpkg/scripts/buildsystems/vcpkg.cmake" \
-DVCPKG_TARGET_TRIPLET=x64-android \
-DIMGUI_WCHAR32=ON \
-DIMGUI_FREETYPE=ON \
-S ./ \
-B ./build/x86_64
cmake --build ./build/x86_64 --config Release
- name: Build for arm64-v8a
if: matrix.lib != 'cimgui'
run: |
cd ${{ matrix.lib }}
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_ANDROID_NDK=$ANDROID_NDK_HOME \
-DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang \
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
-DCMAKE_ANDROID_API=21 \
-S ${{ matrix.lib }} \
-B ${{ matrix.lib }}/build/arm64-v8a
cmake --build ${{ matrix.lib }}/build/arm64-v8a --config Release
-DIMGUI_WCHAR32=ON \
-S ./ \
-B ./build/arm64-v8a
cmake --build ./build/arm64-v8a --config Release
- name: Build for x86_64
if: matrix.lib != 'cimgui'
run: |
cd ${{ matrix.lib }}
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_ANDROID_NDK=$ANDROID_NDK_HOME \
-DCMAKE_ANDROID_ARCH_ABI=x86_64 \
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang \
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
-DCMAKE_ANDROID_API=21 \
-S ${{ matrix.lib }} \
-B ${{ matrix.lib }}/build/x86_64
cmake --build ${{ matrix.lib }}/build/x86_64 --config Release
-DIMGUI_WCHAR32=ON \
-S ./ \
-B ./build/x86_64
cmake --build ./build/x86_64 --config Release
- name: Upload Artifacts
uses: actions/upload-artifact@v4.3.4
42 changes: 36 additions & 6 deletions .github/workflows/cimgui-cmake.yml
Original file line number Diff line number Diff line change
@@ -11,28 +11,35 @@ jobs:
- os: ubuntu-latest
arch: x86_64
cmake-arch: x64
vcpkg-triplet: x64-linux
- os: ubuntu-latest
arch: arm64
cmake-arch: aarch64
vcpkg-triplet: arm64-linux
- os: windows-latest
arch: x86_64
cmake-arch: x64
vcpkg-triplet: x64-windows-static
- os: windows-latest
arch: x86
cmake-arch: win32
vcpkg-triplet: x86-windows-static
- os: windows-latest
arch: arm64
cmake-arch: arm64
vcpkg-triplet: arm64-windows-static
- os: macos-latest
arch: x86_64
cmake-arch: x86_64
vcpkg-triplet: x64-osx
- os: macos-latest
arch: arm64
cmake-arch: arm64
vcpkg-triplet: arm64-osx
steps:
- uses: actions/checkout@v4.1.7
with:
repository: 'cimgui/cimgui'
repository: 'JunaMeinhold/cimgui'
path: 'cimgui'
submodules: true

@@ -42,27 +49,50 @@ jobs:
sudo apt-get update
sudo apt-get install -y build-essential cmake
- name: Install Cross-Compilation Tools for ARM64
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'arm64'
run: |
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
- name: Install vcpkg on Linux and macOS
if: runner.os != 'Windows'
run: |
cd cimgui
git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install freetype --triplet ${{ matrix.vcpkg-triplet }}
- name: Install vcpkg on Windows
if: runner.os == 'Windows'
run: |
cd cimgui
git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.bat
./vcpkg/vcpkg.exe install freetype --triplet ${{ matrix.vcpkg-triplet }}
- name: Configure cimgui with CMake for ARM64 on Linux
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'arm64'
run: cmake -S cimgui -B cimgui/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++
run: |
cd cimgui
cmake -S ./ -B ./build -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_TOOLCHAIN_FILE="./vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=${{ matrix.vcpkg-triplet }} -DIMGUI_WCHAR32=ON -DIMGUI_FREETYPE=ON
- name: Configure cimgui with CMake on Linux (x86_64)
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'x86_64'
run: cmake -S cimgui -B cimgui/build
run: |
cd cimgui
cmake -S ./ -B ./build -DCMAKE_TOOLCHAIN_FILE="./vcpkg/scripts/buildsystems/vcpkg.cmake" -DIMGUI_WCHAR32=ON -DIMGUI_FREETYPE=ON
- name: Configure cimgui with CMake for macOS
if: matrix.os == 'macos-latest'
run: cmake -S cimgui -B cimgui/build -DCMAKE_OSX_ARCHITECTURES=${{ matrix.cmake-arch }}
run: |
cd cimgui
cmake -S ./ -B ./build -DCMAKE_OSX_ARCHITECTURES=${{ matrix.cmake-arch }} -DCMAKE_TOOLCHAIN_FILE="./vcpkg/scripts/buildsystems/vcpkg.cmake" -DIMGUI_WCHAR32=ON -DIMGUI_FREETYPE=ON
- name: Configure cimgui with CMake for Windows
if: matrix.os == 'windows-latest'
run: cmake -S cimgui -B cimgui/build -A ${{ matrix.cmake-arch }}
run: |
cd cimgui
cmake -S ./ -B ./build -A ${{ matrix.cmake-arch }} -DCMAKE_TOOLCHAIN_FILE="./vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=${{ matrix.vcpkg-triplet }} -DIMGUI_WCHAR32=ON -DIMGUI_FREETYPE=ON
- name: Build cimgui
run: cmake --build cimgui/build --config Release
8 changes: 4 additions & 4 deletions .github/workflows/cimguizmo-cmake.yml
Original file line number Diff line number Diff line change
@@ -55,19 +55,19 @@ jobs:
- name: Configure cimguizmo with CMake for ARM64 on Linux
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'arm64'
run: cmake -S cimguizmo -B cimguizmo/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++
run: cmake -S cimguizmo -B cimguizmo/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DIMGUI_WCHAR32=ON

- name: Configure cimguizmo with CMake on Linux (x86_64)
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'x86_64'
run: cmake -S cimguizmo -B cimguizmo/build
run: cmake -S cimguizmo -B cimguizmo/build -DIMGUI_WCHAR32=ON

- name: Configure cimguizmo with CMake for macOS
if: matrix.os == 'macos-latest'
run: cmake -S cimguizmo -B cimguizmo/build -DCMAKE_OSX_ARCHITECTURES=${{ matrix.cmake-arch }}
run: cmake -S cimguizmo -B cimguizmo/build -DCMAKE_OSX_ARCHITECTURES=${{ matrix.cmake-arch }} -DIMGUI_WCHAR32=ON

- name: Configure cimguizmo with CMake for Windows
if: matrix.os == 'windows-latest'
run: cmake -S cimguizmo -B cimguizmo/build -A ${{ matrix.cmake-arch }}
run: cmake -S cimguizmo -B cimguizmo/build -A ${{ matrix.cmake-arch }} -DIMGUI_WCHAR32=ON

- name: Build cimguizmo
run: cmake --build cimguizmo/build --config Release
8 changes: 4 additions & 4 deletions .github/workflows/cimnodes-cmake.yml
Original file line number Diff line number Diff line change
@@ -55,19 +55,19 @@ jobs:
- name: Configure cimnodes with CMake for ARM64 on Linux
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'arm64'
run: cmake -S cimnodes -B cimnodes/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++
run: cmake -S cimnodes -B cimnodes/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DIMGUI_WCHAR32=ON

- name: Configure cimnodes with CMake on Linux (x86_64)
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'x86_64'
run: cmake -S cimnodes -B cimnodes/build
run: cmake -S cimnodes -B cimnodes/build -DIMGUI_WCHAR32=ON

- name: Configure cimnodes with CMake for macOS
if: matrix.os == 'macos-latest'
run: cmake -S cimnodes -B cimnodes/build -DCMAKE_OSX_ARCHITECTURES=${{ matrix.cmake-arch }}
run: cmake -S cimnodes -B cimnodes/build -DCMAKE_OSX_ARCHITECTURES=${{ matrix.cmake-arch }} -DIMGUI_WCHAR32=ON

- name: Configure cimnodes with CMake for Windows
if: matrix.os == 'windows-latest'
run: cmake -S cimnodes -B cimnodes/build -A ${{ matrix.cmake-arch }}
run: cmake -S cimnodes -B cimnodes/build -A ${{ matrix.cmake-arch }} -DIMGUI_WCHAR32=ON

- name: Build cimnodes
run: cmake --build cimnodes/build --config Release
8 changes: 4 additions & 4 deletions .github/workflows/cimplot-cmake.yml
Original file line number Diff line number Diff line change
@@ -55,19 +55,19 @@ jobs:
- name: Configure cimplot with CMake for ARM64 on Linux
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'arm64'
run: cmake -S cimplot -B cimplot/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++
run: cmake -S cimplot -B cimplot/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DIMGUI_WCHAR32=ON

- name: Configure cimplot with CMake on Linux (x86_64)
if: matrix.os == 'ubuntu-latest' && matrix.arch == 'x86_64'
run: cmake -S cimplot -B cimplot/build
run: cmake -S cimplot -B cimplot/build -DIMGUI_WCHAR32=ON

- name: Configure cimplot with CMake for macOS
if: matrix.os == 'macos-latest'
run: cmake -S cimplot -B cimplot/build -DCMAKE_OSX_ARCHITECTURES=${{ matrix.cmake-arch }}
run: cmake -S cimplot -B cimplot/build -DCMAKE_OSX_ARCHITECTURES=${{ matrix.cmake-arch }} -DIMGUI_WCHAR32=ON

- name: Configure cimplot with CMake for Windows
if: matrix.os == 'windows-latest'
run: cmake -S cimplot -B cimplot/build -A ${{ matrix.cmake-arch }}
run: cmake -S cimplot -B cimplot/build -A ${{ matrix.cmake-arch }} -DIMGUI_WCHAR32=ON

- name: Build cimnodes
run: cmake --build cimplot/build --config Release

0 comments on commit fcee7a4

Please sign in to comment.