Example Godot native project using cmake
[]
Example Godot native project using cmake
 Godot Native Example
In this project:
- **An example C++ GDNative plugin.** 
- **Instructions to build the plugin including what software you'll need.**
- **Support for 💰Windows, 🐧Linux & 🍏MacOS (x86_x64/arm64).**
- **🤖 An automated build pipeline to build for all above platforms.**
## Buildling on Windows 💰
1. Download and install:
    - https://git-scm.com/download/win
    - https://cmake.org/download
        - When prompted by installer, add CMake to the system path.
    - https://visualstudio.microsoft.com/downloads (community edition is fine)
        - When prompted by installer, use 'Desktop Development with C++".
    - https://www.python.org/downloads **(must use Python 3!)**
        - When prompted by installer, add Python to the system path.
2. Open a CMD window and run the following commands:
  ```bat
  git clone https://github.com/samsface/godot-native-example.git
  cd godot-native-example
  debug.bat
  ```
 
3. Open `godot-native-example.sln` that should of been generated by running `debug.bat` in previous step.
4. Run the godot project in the app directory of this repo. If it prints "ciao" to the output, it worked!
## Building on Linux 🐧
1. Install tooling:
```sh
sudo apt-get update && apt-get install build-essential cmake python3-pip
```
2. Clone the project and build
```sh
git clone https://github.com/samsface/godot-native-example.git
cd godot-native-example
sh debug.sh
```
3. Run the godot project in the app directory of this repo. If it prints "ciao" to the output, it worked!
## FAQ
- You DO NOT need to copy the build files into the Godot project. CMake does this for you.
- You DO NOT need to restart Godot every time you rebuild. Godot will reload the plugin.
- On Windows, you need to stop debugging in Godot to rebuild, else you'll get a permission denied error installing the dll.
## Using the CI:
This project contains a github actions file that will build your project for all supported platforms every time you push changes. To use it, just Fork this project and then just push changes. You'll see the build status in the Actions tab of your fork. 
* Github actions free tier only gives you so many minutes of compute per month so be conciuous of this.