How do I compile Cerberus from source on MacOS?

SimonVD

New Member
Joined
Dec 22, 2019
Thanks anyway.

Is there a reason that you can't share the binary and the steps you take to compile the source?
 

MikeHart

Administrator
Joined
Jun 19, 2017
Location
Germany
What binary?

I do everything manually. May I ask what you want to do?

Anyway, out of memory, here is what I do....

MakeDocs

Open TED, load src/Makedocs/makedocs.cxs
Select C++ Target
Build
Replace the version in the bin folder with the one you just have created. Of course you need to rename it.

Trans

Open TED, load src/Trans/makedocs.cxs
Select C++ Target
Build
Replace the version in the bin folder with the one you just have created. Of course you need to rename it.

Ted

Open QT-Creator, load the project
Modify the settings to your system
Build it
Run the Mac-Deploy script which you need to modify to your setup.

Launcher

Open BlitzMax-NG, load src/launcher/launcher.bmx
Build it
Copy it over to the one located inside the main CX folder.
 

SimonVD

New Member
Joined
Dec 22, 2019
First of all, thank you, very, very much for keeping available Cerberus X... I'm all new to Cerberus and I love it so far... and thanks again for sharing the steps, it really helped me to create a mental image about the process.


What binary?
I thought that you begin with a special "Trans" binary that I don't have but now I see that I was wrong.

May I ask what you want to do?
Sure. I'd like know that I'd be able to fix some simple problems myself when I encounter them without waiting the next release plus, in time, I'd learn to contribute to the project.

For example, yesterday I was learning documenting my code and found out that...
Code:
Import "file"
...breaks the Makedocs parser when I document the code directly in the Cerberus source files as opposed to using an external file. See related forum post. Now, still not knowing If I will be able to fix the problem myself or not... I'll look into the Makedocs source since I know that I can compile it.
 

Holzchopf

Moderator
3rd Party Module Dev
Joined
Jul 31, 2017
Location
Bern, Switzerland
Nice! Always good to see people willing to contribute =)

For example, yesterday I was learning documenting my code and found out that...
Code:
Import "file"
...breaks the Makedocs parser when I document the code directly in the Cerberus source files as opposed to using an external file. See related forum post. Now, still not knowing If I will be able to fix the problem myself or not... I'll look into the Makedocs source since I know that I can compile it.
That'll be in makedocs' parser.cxs: Method ParseDecl sees the import keyword, then calls ParseImportDecl, which throws an error, if there's no modpath following (modpath = module scopes & module name with dots in between). Instead of throwing an error, it should either
  • just ignore it and not append the import decl (a bit ugly)
  • warn* à la "import statement not followed by valid modpath" and not append the import decl (better)
  • check, if instead of a modpath it's a filepath (a.k.a some string in double quotes) and if so, quietly not append the import decl and only otherwise throw an error (best)
* I think there's also a possibility to output warnings which don't abort the process.

I hope that helps ;-)
 
Top Bottom