And have a question. I am used to managing large projects via either autotools or CMake (the latter of which I am using now) but after hearing about how many folks rave about it I installed it last night and am in the process of importing a large-ish project into it that I had working on CMake but I am maybe 25% the way finished (with general building of the projects, code, etc). And I ran into a problem with CodeBlocks that all of my best cuss words and Google efforts have failed me on. I see everywhere about how CodeBlocks supports multiple targets but nowhere on how to actually do it.
Currently my project which is an application framework, is built like so:
Overall console app to run/use the individual libraries for a larger purpose.
Thread library (shared object; all libs are)
demo/testapp to test and demo how to use thread library.
virtual memory library
demo app to test/show how to use the virtual memory manager
demo/testapp for same
shared memory window manager library
demo app for same
.. etc. In total I will have probably a dozen or more libraries, each with a testapp/demo program plus the overall app which will represent a swarm-computing tool. In CMake it is childs play to set up the dependencies so when one of the libraries is rebuilt, so is the demo app and the overall app. If starting from scratch, the main app and the demo apps need the libraries (some of which need other libraries) and the dependency chain is built as-needed.
Is there any sane way of setting this up in CodeBlocks? It was non-obvious to me how to (it did offer to let me make a static lib...meh) but sometimes I fear I have been doing things at a low level for so long I am just not that good with the pointy-clicky stuff anymore. Thus I thought to give CodeBlocks a fair shake and see; if the fancy IDE really does help me be more productive, produce better code faster and more reliably I might revisit some of my assumptions. If not I will at least know I was right all along and can get better results faster using low-level tools I know.
PS: Also I like to have a single binary output folder and a single shared include folder for all projects so they can share .hpp files...