Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
pkdawson committed Apr 19, 2024
1 parent dbb0662 commit abdcea3
Show file tree
Hide file tree
Showing 31 changed files with 930 additions and 378 deletions.
224 changes: 224 additions & 0 deletions .github/workflows/gdext.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,224 @@
name: 🦕 C++ GDExtension

on: push

env:
VCPKG_ROOT: "${{ github.workspace }}/vcpkg"
vcpkg_tag: 2024.03.25

jobs:
windows:
name: 🪟Windows
runs-on: windows-latest

steps:
- uses: actions/checkout@v3
with:
submodules: true

- name: Setup Python 3.x
uses: actions/setup-python@v4
with:
python-version: 3.12

- name: Setup scons
run: |
python -m pip install scons
scons --version
- name: Get vcpkg
run: |
git clone -n https://github.com/microsoft/vcpkg
cd vcpkg
git checkout ${{ env.vcpkg_tag }}
.\bootstrap-vcpkg.bat
- name: vcpkg install
run: |
cd gdext
${{ env.VCPKG_ROOT }}\vcpkg install --triplet x64-windows-static
- name: GDScript bindings
run: |
cd gdext
pip install ply
- name: Build debug
run: |
cd gdext
scons debug_symbols=yes
- name: Build release
run: |
cd gdext
scons debug_symbols=yes target=template_release
- name: Upload binaries
uses: actions/upload-artifact@v3
with:
name: gdext-windows
path: addons/imgui-godot/bin

linux:
name: 🐧Linux
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
submodules: true

- name: Setup Python 3.x
uses: actions/setup-python@v4
with:
python-version: 3.12

- name: Setup scons
run: |
python -m pip install scons
scons --version
- name: Get vcpkg
run: |
git clone -n https://github.com/microsoft/vcpkg
cd vcpkg
git checkout ${{ env.vcpkg_tag }}
./bootstrap-vcpkg.sh
- name: vcpkg install
run: |
cd gdext
${{ env.VCPKG_ROOT }}/vcpkg install --triplet x64-linux
- name: GDScript bindings
run: |
cd gdext
pip install ply
sudo apt install clang-format
- name: Build debug
run: |
cd gdext
scons
- name: Build release
run: |
cd gdext
scons target=template_release
- name: Upload binaries
uses: actions/upload-artifact@v3
with:
name: gdext-linux
path: addons/imgui-godot/bin

macos:
name: 🍎macOS
runs-on: macos-latest

steps:
- uses: actions/checkout@v3
with:
submodules: true

- name: Setup Python 3.x
uses: actions/setup-python@v4
with:
python-version: 3.12

- name: Setup scons
run: |
python -m pip install scons
scons --version
- name: Get vcpkg
run: |
git clone -n https://github.com/microsoft/vcpkg
cd vcpkg
git checkout ${{ env.vcpkg_tag }}
./bootstrap-vcpkg.sh
- name: vcpkg install
run: |
cd gdext
zsh scripts/vcpkg-macos.sh
- name: GDScript bindings
run: |
cd gdext
pip install ply
brew install clang-format
- name: Build debug
run: |
export PATH="$(brew --prefix llvm@15)/bin:$PATH"
echo $PATH
clang++ --version
cd gdext
scons
- name: Build release
run: |
export PATH="$(brew --prefix llvm@15)/bin:$PATH"
echo $PATH
cd gdext
scons target=template_release
- name: Upload binaries
uses: actions/upload-artifact@v3
with:
name: gdext-macos
path: addons/imgui-godot/bin

package:
name: 📦Package
runs-on: ubuntu-latest
needs: [windows, linux, macos]

steps:
- uses: actions/checkout@v3
with:
submodules: true

- uses: actions/download-artifact@v3
with:
path: addons/imgui-godot/bin

- run: ls -R
working-directory: addons/imgui-godot/bin

- name: Extract
run: |
cd addons/imgui-godot/bin
rm *.exp
rm *.lib
- name: Upload PDBs
uses: actions/upload-artifact@v3
with:
name: pdbs
path: addons/imgui-godot/bin/*.pdb

- name: Prepare files
id: prep
run: |
ls -R
rm addons/imgui-godot/bin/*.pdb
cp -r gdext/include/*.h addons/imgui-godot/include/
env
imgui_ver=$(grep -m 1 "^#define IMGUI_VERSION " < gdext/imgui/imgui.h | awk '{ print $3 }' | sed 's/"//g')
godot_ver=$(grep -m 1 compatibility_minimum < addons/imgui-godot/imgui-godot-native.gdextension | sed 's/compatibility_minimum = //')
plugin_ver=$(grep -m 1 "version=" < addons/imgui-godot/plugin.cfg | sed 's/version=//' | sed 's/"//g')
pkgfn=imgui-godot-native-${plugin_ver}_godot-${godot_ver}_imgui-${imgui_ver}
echo $pkgfn
echo "pkgfn=$pkgfn" >> $GITHUB_OUTPUT
rm -rf gdext
- name: Upload package
uses: actions/upload-artifact@v3
with:
name: ${{ steps.prep.outputs.pkgfn }}
path: |
.
!.git*
2 changes: 1 addition & 1 deletion Dear ImGui for Godot Demo.csproj
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project Sdk="Godot.NET.Sdk/4.2.1">
<Project Sdk="Godot.NET.Sdk/4.2.2">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
Expand Down
6 changes: 5 additions & 1 deletion addons/imgui-godot/ImGuiGodot/ImGuiGD.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,11 @@ public static float Scale
}
}

public static bool Visible { get; set; }
public static bool Visible
{
get => _backend.Visible;
set => _backend.Visible = value;
}

static ImGuiGD()
{
Expand Down
Loading

0 comments on commit abdcea3

Please sign in to comment.