Directory Layout
Every executable package has the directory structure like this.
App/
├── Rux.toml # Package manifest
├── Src/ # Source files
│ ├── Main.rux # Contains function Main entry point
│ └── ... # Other folders or source files
├── Bin/ # Created by the compiler
│ ├── Debug/ # Debug build output
│ └── Release/ # Release build output
├── Temp/ # Intermediate build files
├── README.md # Brief Markdown description
├── LICENSE.md # License of the package
└── .gitignore # Excludes /Bin and /Temp folder from the repositoryBin/ and Temp/ are generated by the tool chain and should be listed in .gitignore. Root folder can contain other directories Art, Docs, Icons, Images, etc.
Static and shared (dynamic) libraries have similar folder layout, but instead of Main.rux file they require file with a name of the library.
Math/
├── Rux.toml # Package manifest
├── Src/ # Source files
│ ├── Math.rux # Contains root name scope of the package
│ └── ... # Other folders or source files
├── Bin/ # Created by the compiler
│ ├── Debug/ # Debug build output
│ └── Release/ # Release build output
├── Temp/ # Intermediate build files
├── README.md # Brief Markdown description
├── LICENSE.md # License of the package
└── .gitignore # Excludes /Bin and /Temp folder from the repositorySource libraries cannot be built only included in the other projects as a dependency.
Core/
├── Rux.toml # Package manifest
├── Src/ # Source files
│ ├── Core.rux # Contains root name scope of the package
│ └── ... # Other folders or source files
├── README.md # Brief Markdown description
├── LICENSE.md # License of the package
└── .gitignore # Excludes some items if necessary