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