mongo_module_ninja
mongo_module_ninja copied to clipboard
Possible to reuse this module for godot?
Is it possible to reuse this module for the godot game engine?
Some parts of it are specifically designed to work with the way that we (ab)use SCons, in particular the handling of our libdeps. Also, it hooks in with our build modules system so you'd need to find a different way to activate this code. So it definitely won't work out of the box. But it should be possible to either adapt this or just take the general ideas and make them work in any scons system. If you do and have any questions, I'd be glad to help.
And of course my recommendation would be to just get off of scons if at all possible and either use another off-the-shelf system or just roll your own ninja generator (which isn't actually that hard). But that is definitely not always an option, which is why this repo exists :smiley:
I've tried... https://github.com/godotengine/godot/issues/16014 moving godot to Cmake and Bazel.
Anyways, currently stuck on executing the ninja file.
global name 'is_link_model_object' is not defined
global name 'is_link_model_object' is not defined
That was the libdeps handling code I mentioned in my earlier comment. You should probably start by just ripping out everything involving libdeps since it is very specific to our scons setup. You'll need to ensure that your lib dependency graph makes it into the ninja files.
PS - If you are just doing a POC, you might want to start from one of the earlier, simpler commits to this repo. https://github.com/RedBeard0531/mongo_module_ninja/blob/0e679b5f2818357738ae9f8350d4db6076bf9286/build.py seems fairly reasonable. The later versions are much better since they pull more work out of scons and have more features (icecream support is very useful), but that all comes with a complexity cost and tighter coupling to our scons setup that probably makes it harder to adapt to your system.
assert n.executor
assert not n.executor.post_actions
assert not n.executor.overridelist
assert len(n.executor.get_action_list()) == 1
Asserts are being hit, what scons version are you using?
those asserts are all for cases where I've only implemented what was needed for our build system. You are probably using a different subset of scons functionality than we are. If you tell me which ones are failing, I may know what functionality is missing.
Are you on the cpplang slack? That may have a lower latency than github comments.
Joining slack.
Are you still available on slack? I'm tempted to work on this for half a day.
Are you still around? I might be tempted to restart work on this.
Do you know if this modules helps https://github.com/ninja-build/ninja/blob/master/misc/ninja_syntax.py