```
tags.
43 | validations:
44 | required: true
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 |
3 | contact_links:
4 | - name: Godot proposals
5 | url: https://github.com/godotengine/godot-proposals
6 | about: Please submit feature proposals on the Godot proposals repository, not here.
7 |
8 | - name: Godot documentation repository
9 | url: https://github.com/godotengine/godot-docs
10 | about: Please report issues with documentation on the Godot documentation repository, not here.
11 |
12 | - name: Godot community channels
13 | url: https://godotengine.org/community
14 | about: Please ask for technical support on one of the other community channels, not here.
15 |
--------------------------------------------------------------------------------
/.github/workflows/builds.yml:
--------------------------------------------------------------------------------
1 | name: Builds
2 |
3 | on: push
4 |
5 | env:
6 | LIBNAME: example
7 |
8 | concurrency:
9 | group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-macos
10 | cancel-in-progress: true
11 |
12 | jobs:
13 | build:
14 | runs-on: ${{matrix.os}}
15 | # temporarily disable
16 | if: false
17 | name: ${{matrix.name}}
18 | strategy:
19 | fail-fast: false
20 | matrix:
21 | include:
22 | - identifier: windows-debug
23 | os: windows-latest
24 | name: 🏁 Windows Debug
25 | target: template_debug
26 | platform: windows
27 | arch: x86_64
28 | - identifier: windows-release
29 | os: windows-latest
30 | name: 🏁 Windows Release
31 | target: template_release
32 | platform: windows
33 | arch: x86_64
34 | - identifier: macos-debug
35 | os: macos-latest
36 | name: 🍎 macOS (universal) Debug
37 | target: template_debug
38 | platform: macos
39 | arch: universal
40 | - identifier: macos-release
41 | os: macos-latest
42 | name: 🍎 macOS (universal) Release
43 | target: template_release
44 | platform: macos
45 | arch: universal
46 | - identifier: linux-debug
47 | os: ubuntu-latest
48 | name: 🐧 Linux Debug
49 | runner: ubuntu-20.04
50 | target: template_debug
51 | platform: linux
52 | arch: x86_64
53 | - identifier: linux-release
54 | os: ubuntu-latest
55 | name: 🐧 Linux Release
56 | runner: ubuntu-20.04
57 | target: template_release
58 | platform: linux
59 | arch: x86_64
60 |
61 | steps:
62 | - name: Checkout project
63 | uses: actions/checkout@v3
64 | with:
65 | submodules: recursive
66 |
67 | - name: Set up Python
68 | uses: actions/setup-python@v4
69 | with:
70 | python-version: '3.x'
71 |
72 | - name: Set up SCons
73 | shell: bash
74 | run: |
75 | python -c "import sys; print(sys.version)"
76 | python -m pip install scons
77 | scons --version
78 | - name: Linux dependencies
79 | if: ${{ matrix.platform == 'linux' }}
80 | run: |
81 | sudo apt-get update -qq
82 | sudo apt-get install -qqq build-essential pkg-config
83 | - name: Setup MinGW for Windows/MinGW build
84 | if: ${{ matrix.platform == 'windows' }}
85 | uses: egor-tensin/setup-mingw@v2
86 | with:
87 | version: 12.2.0
88 |
89 | - name: Compile godot-cpp
90 | shell: sh
91 | run: |
92 | scons target='${{ matrix.target }}' platform='${{ matrix.platform }}' arch='${{ matrix.arch }}'
93 | working-directory: godot-cpp
94 |
95 | - name: Compile Extension
96 | shell: sh
97 | run: |
98 | scons target='${{ matrix.target }}' platform='${{ matrix.platform }}' arch='${{ matrix.arch }}'
99 | - name: Delete compilation files
100 | if: ${{ matrix.platform == 'windows' }}
101 | run: |
102 | Remove-Item bin/* -Include *.exp,*.lib,*.pdb -Force
103 | - name: Upload artifact
104 | uses: actions/upload-artifact@v3
105 | with:
106 | name: ${{ github.event.repository.name }}
107 | path: |
108 | ${{ github.workspace }}/bin/*
109 | - name: Archive Release
110 | uses: thedoctor0/zip-release@0.7.1
111 | with:
112 | type: 'zip'
113 | filename: '${{ env.LIBNAME }}.${{ matrix.platform }}.${{ matrix.arch }}.zip'
114 | path: '${{ github.workspace }}/bin/'
115 | if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
116 |
117 | - name: Create and upload asset
118 | if: success() && github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
119 | uses: ncipollo/release-action@v1
120 | with:
121 | allowUpdates: true
122 | artifacts: "${{ env.LIBNAME }}.${{ matrix.platform }}.${{ matrix.arch }}.zip"
123 | omitNameDuringUpdate: true
124 | omitBodyDuringUpdate: true
125 | token: ${{ secrets.GITHUB_TOKEN }}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Godot 4+ specific ignores
2 | .godot/
3 |
4 | # Ignore library files but not the gdextension file
5 | demo/bin/*
6 | !demo/bin/android
7 | demo/bin/android/*
8 | !demo/bin/android/.gitkeep
9 | !demo/bin/linux
10 | demo/bin/linux/*
11 | !demo/bin/linux/.gitkeep
12 | !demo/bin/macos
13 | demo/bin/macos/*
14 | !demo/bin/macos/.gitkeep
15 | !demo/bin/windows
16 | demo/bin/windows/*
17 | !demo/bin/windows/.gitkeep
18 | !demo/bin/*.gdextension
19 | .sconsign*.dblite
20 |
21 | # Ignore custom.py
22 | custom.py
23 |
24 | # Ignore generated compile_commands.json
25 | compile_commands.json
26 |
27 | # Binaries
28 | *.o
29 | *.os
30 | *.so
31 | *.obj
32 | *.bc
33 | *.pyc
34 | *.dblite
35 | *.pdb
36 | *.lib
37 | *.config
38 | *.creator
39 | *.creator.user
40 | *.files
41 | *.includes
42 | *.idb
43 | *.exp
44 |
45 | # Other stuff
46 | *.log
47 |
48 | # VSCode
49 | .vscode/*
50 | !.vscode/extensions.json
51 |
52 | .zig-cache
53 | zig-out
54 | *.gguf
55 |
56 | godot/addons/godot-llama-cpp/lib/*
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "llama.cpp"]
2 | path = llama.cpp
3 | url = https://github.com/ggerganov/llama.cpp.git
4 | [submodule "godot-cpp"]
5 | path = godot_cpp
6 | url = git@github.com:godotengine/godot-cpp.git
7 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": [
3 | "ms-vscode.cpptools-extension-pack",
4 | "ms-python.python"
5 | ]
6 | }
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 | Copyright © 2024