- Static FreeType linking flow for all OS - Flow to build universal binaries for macOS (x86_64, aarch64) - Simplified CI workflow by removing FreeType branches from the build matrix Added 2 new scripts: 1. `buildSrc/scripts/vendor_freetype.sh` 2. `buildSrc/scripts/build.sh` The first script prepares FreeType for usage in the build process. The result of this script is used in the `GenerateLibs` task. Other ways of building with FreeType are removed. If it's impossible to build with FreeType, it is recommended to set `freetype=false`. The second script aggregates commands to build native binaries. It includes specific steps, such as creating a universal library for macOS and copying the result to the specific folder `/tmp/imgui/dst`. Script 1 can be used for local builds. Script 2 is primarily intended for use in CI.
38 lines
1.3 KiB
Markdown
38 lines
1.3 KiB
Markdown
### Overview
|
|
|
|
The folder contains libraries used by the binding and the `binding.sha1` checksum for the `imgui-binding/src/main` directory that the libraries are built upon. These libraries are utilized during the release process.
|
|
|
|
### Specifying the Library Path
|
|
|
|
To specify the folder containing these files, provide the `imgui.library.path` (or `java.library.path`) VM option. For example:
|
|
```
|
|
-Dimgui.library.path=./folder/path
|
|
```
|
|
You can also use the `java.library.path` option in the same manner.
|
|
|
|
### Changing the Library Name
|
|
|
|
By default, the binding expects the file name `imgui-java64`. You can change this by using the `imgui.library.name` VM option. For example:
|
|
```
|
|
-Dimgui.library.name=custom-lib-name.dll
|
|
```
|
|
|
|
### Expected Library File Names
|
|
|
|
The expected library file names for different operating systems are:
|
|
|
|
| OS | Library |
|
|
|---------|-----------------------|
|
|
| Windows | imgui-java64.dll |
|
|
| Linux | libimgui-java64.so |
|
|
| macOS | libimgui-java64.dylib |
|
|
|
|
### Additional Information
|
|
|
|
- All libraries include statically compiled **FreeType**.
|
|
- The macOS version is a universal library and support x86_64 and arm64 architectures.
|
|
|
|
### Continuous Integration
|
|
|
|
The hash sum in the `binding.sha1` file is used in continuous integration (CI) to determine if there is a need to update the native binaries.
|