1
Programming / Re: Which development tools do you use?
« on: November 14, 2011, 04:23:44 pm »
To tell you the truth, I don't like CMake either. I do find it easier to understand than the unholy mess that a Makefile is but it's far from perfect. To tell you the truth, the best (i.e. easier to understand and use) system I've seen so far is Scons (https://www.scons.org/). Last time I used it (a few years ago) it wasn't supported by many (if any) IDEs but that seems to be changing: https://www.scons.org/wiki/IDEIntegration
If you don't know it, check it out, you may find it interesting.
But that's where the problem starts and that's what I was talking about before: everyone has his/her favourite build tool but you need to select just one that everyone can use - even if they don't like it. I don't like autotools/autoconf but I've been using it for years. I don't like cmake either but I've used it quite a lot as well. But in both cases, I've used them more as an end-user than as a developer, and I think this is the important point: end-users will be able to compile the code without needing to fiddle with the build scripts, so the chosen build tools should be the ones that you, the developer, are more comfortable with, because even if the end-user doesn't like that specific tool for development, he/she won't have to deal with it and will only need to execute a few of commands to run it.
If you don't know it, check it out, you may find it interesting.
But that's where the problem starts and that's what I was talking about before: everyone has his/her favourite build tool but you need to select just one that everyone can use - even if they don't like it. I don't like autotools/autoconf but I've been using it for years. I don't like cmake either but I've used it quite a lot as well. But in both cases, I've used them more as an end-user than as a developer, and I think this is the important point: end-users will be able to compile the code without needing to fiddle with the build scripts, so the chosen build tools should be the ones that you, the developer, are more comfortable with, because even if the end-user doesn't like that specific tool for development, he/she won't have to deal with it and will only need to execute a few of commands to run it.