Ghost (Ghost Build System / GBSA) is a flexible cross-compiler for Windows and Linux that runs on top of Github Actions for straightforward, unfussy and uninvolved cross-compilation! Here is a complete list of Ghost features:
Ghost directory.Ghost/ghost-build.yml to .github/workflows/ directory in your repository.ghost-build.yml to build-release.yml.ghost-build.py and ghost-build.xml to ghost-build directory in your repository.Done!
This is what the new configuration looks like:
<?xml version="1.0" encoding="UTF-8"?>
<!-- H17I Github Actions Ghost Build System. -->
<GhostBuild Compiler="NULL" CType="NULL">
<BuildName>NULL</BuildName>
<CMainFile>NULL</CMainFile>
<CFlagsWindows>NULL</CFlagsWindows>
<CFlagsLinux>NULL</CFlagsLinux>
<WindowsAuxiliary>NULL</WindowsAuxiliary>
<LinuxAuxiliary>NULL</LinuxAuxiliary>
</GhostBuild>
GhostBuild::Compiler Attribute (GNU or Clang, case sensitive): The compiler that will be used for compiling the code.GhostBuild::CType Attribute (C or C++, case sensitive): Code language, C or C++GhostBuild/BuildName Element: Build name, completely optional.GhostBuild/CMainFile Element: Relative path to the main executable file.GhostBuild/CFlagsWindows Element: Compilation flags for Windows, use NULL if no flags needed.GhostBuild/CFlagsLinux Element: Compilation flags for Linux, use NULL if no flags needed.GhostBuild/WindowsAuxiliary Element: Relative path to a pre-compilation executable auxiliary Python file for dependencies installation for Windows, use NULL if no aux. files needed.GhostBuild/LinuxAuxiliary Element: Relative path to a pre-compilation executable auxiliary Python file for dependencies installation for Linux, use NULL if no aux. files needed.
Ghost will automatically switch to GNU compiler when compiling to Windows because there is no Clang support for Windows right now.
WindowsAuxiliary and LinuxAuxiliary files must be placed in ghost-build directory. When specifying the aux. files you don't need to put ghost-build/ before the aux. file. The .py suffix is also optional, Ghost will find the file without an extension.
Tip: If compiled EXE binary crashes with DLL missing error try appending --static to CFlagsWindows in your configuration.
Once Ghost detected a new release:
You can check the cross-compilation process on the repository's Github Actions page.
Github: Ghost
Markdown version of this documentation: Ghost.MD
V1.0.0.0