To use the pre-built binaries follow the steps below
Download Caelum_Linux_x86_64.tar.gz
from releases and extract the contents to a folder. Then run Caelum-*.AppImage
Download Caelum_Windows_x86_64.zip
from releases and extract the contents to a folder. Then run Caelum.exe
To build Caelum, you require the following on your system:
- C++20 or above (MSVC will fail to build so go for GNU GCC)
- Qt framework 6.5.0+
- Qt Creator Community 10.0.0+
- (Optional: Linux only) AppImage-Builder
Open a command line in your desired folder, clone the repo with the following command
git clone https://github.com/GinOwO/Caelum.git
- Open Qt Creator and load the project.
- Switch to release and then build the project.
- Copy the release exe from the build folder to your desired folder.
- Open a command line in your bin folder in the Qt installation, ex:
"D:\Qt\6.5.*\mingw_64\bin"
- Use the
set PATH=<path_to_qt>;%PATH%
to use the Qt DLLs, ex:set PATH=D:\Qt\Tools\mingw1120_64\bin;%PATH%
- Now run the
windeployqt6 "<path_to_exe>"
command to copy necessary DLLs to the exe folder, ex:windeployqt6 "D:\Caelum\Caelum.exe"
- Open Qt Creator and load the project.
- Switch to release and then build the project.
- Copy the release build from the build folder to your desired folder. Make the directory
AppDir/usr/bin
and copy the release build to it. - Open a terminal in the folder and run
appimage-builder --generate && appimage-builder
to generate the AppImage.
- Launch Caelum.
- Use the text editor to write your code or use the open file to open an existing file.
- Click on the Build button or F6 to build the code.
- Click on the Run button or F5 to run the code and see the output.
A limited set of x86_64 assembly instructions are supported. The supported instructions can be found at the wiki here
- All programs must start with
global <label>
and end withhlt
. - All labels must be unique.
- The entry point of the program is the label specified after global.
- All instructions are case insensitive.
- Special Registers like SP currently do nothing.
Please read CONTRIBUTING.md for details on contributing to this project.
This project is licensed under The Unlicense.