Skip to content

Commit 7f84f13

Browse files
authored
Merge pull request #31 from Calinou/improve-readme
Improve formatting in README, add note about running from editor
2 parents 931b471 + 5742127 commit 7f84f13

File tree

1 file changed

+55
-41
lines changed

1 file changed

+55
-41
lines changed

README.md

Lines changed: 55 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,69 @@
11
# Godot iOS plugins
22

3-
`master` branch is current development branch and can introduce breaking changes to plugin's public interface.
4-
`3.3` branch aim is to provide same public interface as it was before switch to new iOS plugin system.
3+
[`master` branch](https://github.com/godotengine/godot-ios-plugins/tree/master) is the current development branch and can introduce breaking changes to plugin's public interface.
4+
[`3.3` branch](https://github.com/godotengine/godot-ios-plugins/tree/3.3)'s aim is to provide same public interface as it was before the switch to new iOS plugin system.
5+
6+
**Note:** iOS plugins are only effective on iOS (either on a physical device or
7+
in the Xcode simulator). Their singletons will *not* be available when running
8+
the project from the editor, so you need to export your project to test your changes.
59

610
## Instructions
711

8-
* Clone this repository and it's submodules:
9-
```
10-
git clone --recurse-submodules https://github.com/godotengine/godot-ios-plugins
11-
```
12-
You might require to update `godot` submodule in case you require latest (unreleased) Godot changes. To do this run:
13-
```
14-
cd godot
15-
git fetch
16-
git checkout origin/<branch you want to use>
17-
```
18-
19-
* Alternatively you can use pre-extracted Godot headers that will be provided with release tag at [Releases page](https://github.com/godotengine/godot-ios-plugins/releases).
20-
To do this clone this repo without submodules:
21-
```
22-
git clone https://github.com/godotengine/godot-ios-plugins
23-
```
24-
Then place extracted Godot headers in `godot` directory.
25-
If you choose this option you can skip next step to genarate of Godot headers.
26-
27-
* To generate Godot headers you need to run compilation command inside `godot` submodule directory.
28-
Example:
29-
```
30-
scons platform=iphone target=debug
31-
```
32-
You don't have to wait for full engine compilation as header files are generated first, so once an actual compilation starts you can stop this command.
33-
34-
* Running
35-
```
36-
scons target=<debug|release|release_debug> arch=<arch> simulator=<no|yes> plugin=<plugin_name> version=<3.x|4.0>
37-
```
38-
will generate `.a` static library for chosen target.
39-
Do note, that Godot's default `debug` export template is compiled with `release_debug` target.
12+
- Clone this repository and its submodules:
4013

41-
## Building a `.a` library
14+
```bash
15+
git clone --recursive https://github.com/godotengine/godot-ios-plugins.git
16+
```
4217

43-
* Run `./scripts/generate_static_library.sh <plugin_name> <debug|release|release_debug> <godot_version>` to generate `fat` static library with specific configuration.
18+
You might have to the update `godot` submodule in case you require latest (unreleased) Godot changes. To do this, run:
4419

45-
* The result `.a` binary will be stored in `bin` folder.
20+
```bash
21+
cd godot
22+
git fetch
23+
git checkout origin/<branch you want to use>
24+
```
4625

47-
## Building a `.xcframework` library
26+
- Alternatively, you can use pre-extracted Godot headers that will be provided
27+
with release tag on the [Releases page](https://github.com/godotengine/godot-ios-plugins/releases).
28+
To do this, clone this repository without submodules:
29+
30+
```bash
31+
git clone https://github.com/godotengine/godot-ios-plugins.git
32+
```
33+
34+
Then place the extracted Godot headers in the `godot/` directory.
35+
If you choose this option, you can skip next the step which generates Godot headers.
36+
37+
- To generate Godot headers, you need to run the compilation command inside the `godot` submodule directory:
38+
39+
```bash
40+
scons platform=iphone target=debug
41+
```
42+
43+
You don't have to wait for full engine compilation, as header files are generated first.
44+
Once the actual compilation starts, you can stop this command by pressing <kbd>Ctrl + C</kbd>.
4845

49-
* Run `./scripts/generate_xcframework.sh <plugin_name> <debug|release|release_debug> <godot_version>` to generate `xcframework` with specific configuration. `xcframework` allows plugin to support both `arm64` device and `arm64` simulator.
46+
- Run the command below to generate an `.a` static library for chosen target:
47+
48+
```bash
49+
scons target=<debug|release|release_debug> arch=<arch> simulator=<no|yes> plugin=<plugin_name> version=<3.x|4.0>
50+
```
51+
52+
**Note:** Godot's official `debug` export templates are compiled with the `release_debug` target, *not* the `debug` target.
53+
54+
## Building a `.a` library
55+
56+
- Run `./scripts/generate_static_library.sh <plugin_name> <debug|release|release_debug> <godot_version>`
57+
to generate `fat` static library with specific configuration.
58+
- The result `.a` binary will be stored in the `bin/` folder.
59+
60+
## Building a `.xcframework` library
5061

51-
* The result `.xcframework` will be stored in `bin` folder as well as intermidiate `.a` binaries.
62+
- Run `./scripts/generate_xcframework.sh <plugin_name> <debug|release|release_debug> <godot_version>`
63+
to generate `xcframework` with specific configuration.
64+
`xcframework` allows plugin to support both `arm64` device and `arm64` simulator.
65+
- The result `.xcframework` will be stored in the `bin/` folder as well as intermidiate `.a` binaries.
5266

5367
## Documentation
5468

55-
Each plugin provides a `README.md` file which contains a documentation and examples.
69+
Each plugin provides a `README.md` file which contains documentation and examples.

0 commit comments

Comments
 (0)