Whilst helping my friend learn C++ I wanted an easier way for him to manage libraries and set up projects. This lead me to start development on a python script which provides a layer of abstraction to the CMakeLists.txt file.
I've only recently started development on it but I am excited at its potential. To see what I mean, take a look at my blog post:
I intend to port over my CMake scripts for my C++ game engine to these once development is complete. I'm trying to complete one project a month, so hopefully it won't be too long!
If you want to follow along (or maybe even contribute) you can find the repo on Github:
The problem with most build systems is that you are usually learning two programming languages at once, which can be overwhelming. Based on your blog post it looks like you're bumping the number of languages up to 4: C++, Python, Configuration file, CMake. If something goes wrong it could be anyone of of those four things and for someone new to programming it would be hard to tell what it is.
Yeah that is true, it didn't cross my mind because the person who I developed it for had strong Python skills hence why I didn't see it as an issue :/
And wow I've never come across biicode before! I've used dependancy managers for web dev before but not for a C/C++ projects. Have you any experience using it yourself?
Yes, I've used biicode myself for some of my projects. The only issue I have with it is that not all libraries are part of biicode - the authors (or you or someone else) have to make small changes to the library and then upload it to biicode's servers. Obviously that's a problem that will go away over time, though.
The nice thing is that they have support for boost built in, it will download boost and build the components needed for your project, which is super awesome.
You can think of biicode as CMake's ExternalProject_Add on steroids.