Project Layout

Suggested project layout:

/ProjectName
    /scapix
    /source
    /ui
        /ios
        /android
        /macos
        /javafx
        /etc...
    /platform (optional)
        /ios
        /android
        /macos
        /windows
        /etc...

/scapix - installation of scapix library.

/source - your shared cross-platform C++ source code.

/ui - subfolders with different versions of UI code. These may or may not have a one to one correspondence to a particular platform. You may, for example, have a production version of UI for MacOS written in Swift and a test version of UI written in Java with JavaFX library, which can run on many different platforms, like Windows, MacOS and Linux (it will not look truly native, but for a test UI this is probably fine).

/platform (optional) - subfolders with platform dependent low level source code. Most of the time this isn’t nessesary, but if you need to access some platform specific API from your shared C++ codebase, this is the place to do it.