Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - borfast

Pages: [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 ( Last time I used it (a few years ago) it wasn't supported by many (if any) IDEs but that seems to be changing:
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.

Programming / Re: Which development tools do you use?
« on: November 12, 2011, 12:47:29 am »
Ok ok I've changed the title so people will quit bickering over the fact that I couldn't think of a better word than "compilers". :P
You've hit the nail on the head.

Sorry, I didn't mean to be a PITA, I just wanted to make sure everyone understood what your intention was, so that you'd get meaningful responses.

So now that we have things like CMake, my plan was to just drop the least-used projects and let people generate them themselves (plus there'll be a wiki where everyone can share their own howtos soon). The reason I don't completely drop everything but CMake is because:

1. It's an extra step whenever we just need to add/remove files. Close everything, edit the CMake, regenerate everything, restore all our little project tweaks and get everything back on track.
2. It's not something I'm too familiar with configuring myself, and I don't wanna have to rely on third-parties to keep my code up and running.
3. Invariably, some people just don't like CMake.

1. Some IDEs support CMake, either out-of-the-box or by adding a plugin. Perhaps you can let your IDE take care of those changes for you.

2. It's not that hard, and if your IDE supports it, it's even easier. I'd be motivated to learn it if it meant reducing the amount of work I have to do for supporting the people who want to compile my code.

3. It's your project. F*** them ;) Seriously, you will always find some resistance, whatver choice you make, and unless you want to support every major tool in existance - which you don't, that being the exact purpose of this poll - you will always have some people unhappy with something. But you can always accept contributions from them, in order to unofficially support their platform of choice. Just drop their build files somewhere in "build/<platform>/*.*" and that's it. Personally I don't like that, because it will eventually mean that those build files will be out of sync with the project, and someone will make a fuss about it. But apart from having a big team and people dedicated to maintaining those build feils, I think that's the only sane way of supporting a lot of platforms.


Programming / Re: Which compiler do you use?
« on: November 10, 2011, 05:33:47 pm »
Hmmm... I believe you're mixing compilers with IDEs and build tools...

  • Visual Studio is both a compiler and an IDE, so that one's fine.
  • MingW is not a compiler itself (it's a development environment for Windows and uses GCC/G++ as a compiler) but it is different enough to stand alone;
  • Code::Blocks is an IDE and it supports multiple compilers;
  • Eclipse is also an IDE and its CDT (C/C++ Development Tooling) project uses GCC/G++ as the compilers;
  • Xcode is also an IDE and it uses either GCC or LLVM as a compiler;
  • Makefile is neither a compiler or a IDE; it's a file that needs to be generated specifically for a platform (OS and compiler) and describes the build process, which is then carried out by Make, which is also not a compiler, just a tool that, among other things, executes the compiler when needed;
  • CMake, putting it simply, is a tool to generate Makefiles and other types of "guidance" files for compilers, be it GCC/Makefiles, Xcode or Visual Studio;
  • Autotools is a set of tools (Autoconf, Automake, and Libtool) that do a bunch of stuff to aid a compiler, but they don't include a compiler.

So if you're really interested in knowing about the compiler, the poll choices boil down to
  • Visual Studio (which is really not the name of the compiler they use but I can't recall the name now)
  • MingW
  • GCC/G++
  • Apple GCC
  • Apple LLVM

But I suppose the real interest here is in figuring out which development platforms to support, by providing ready-made project files for the IDEs, makefiles, etc.

If that's the case, I suggest going for CMake, since it can generate Makefile-like files for pretty much any of the platforms mentioned here, and all the IDEs mentioned here can import a Makefile-like file to generate a project.

In any case, handing out ready-made project files for IDEs may not be a good idea because it's a lot of work (maintaining several platforms instead of just one) and you can never figure out the details of each person's configuration (include directives with the right directories, executable names, etc), so it's better to just let the IDE generate the project from a Makefile and be done with it.

Pages: [1]