First of all, I would like to thank Eduard Gibert for making me notice some issues in Windows that were preventing the correct compilation of Crimild under that platform. I’ve been so focused on iOS recently that I completely forgot about Windows. And since there’s no continuous integration tool (shame on me) it was a matter of time until these kind of problems occur. Maybe this is a good time to start using one.
Anyway, I wanted to share the changes I made in order to fix the Windows build:
First, all third-party libraries and frameworks required to build Crimild on Windows are now stored in the /third-party folder in the SVN repository. This allows CMake to correctly discover them during the project configuration process and ensures that the development environment is properly set. The reason for doing so is that both Linux and MacOS are much more developer friendly when it comes to depending on third party libraries. Unfortunately, this is not the case for Windows so I have to do what’s necessary in order to ensure the environment is correctly configured.
Concerning Lua, up until now the Lua core had to be compiled separately for each platform in order to produce the correct static library for our projects. It turns out that Lua itself proposes an alternative process which is as simple as including all core files as part of our build process. And that’s exactly what I did. Now the Scripting module will build Lua sources as well without having to worry about the target platform. I should thank Lua engineers for using ANSI C and making my life easier.
On the downside, I was forced to disable a couple of examples and the new shader-based OpenGL renderer until further notice as I’m still working on them.
As a side note, I also noticed that the documentation regarding node visitors is far from helpful so I’ll be writing a little bit more about them in my next post.