I have a single folder called WinDepend that holds all required files arrayed as they need to be. All relevant project paths are simplified to "/WinDepend". I had no trouble setting up either Code::Blocks or the GCC compiler.
Of course, it might have changed since I last worked on it.
The .cbp has changed, in a piecemeal and incomplete manner. The libraries point to SDL1, while SDL2 is now used. You can't compile the tiles version straight out of the box, even with the correct libraries, because the .cbp doesn't even use the correct libraries.
If you're insisting on building with SDL from the start, you're doing it to yourself, there's a reason those are optional dependencies, it's because dependencies in general, and SDL in particular are a pain in the ass to deal with. We've put a lot of work into keeping SDL, gettext, and lua as optional dependencies exactly because we want it to be as easy as possible to build the project.
Why the hostility? "Building SDL from the start" is "doing it to yourself?" How is hitting CTRL-F9 going to compile the console version going to teach you anything about how libraries work? There is no way to learn this without either being taught, or stumbling your own way through by reading the compiler errors. There is no gentle learning curve here. Compiling the console version is not a tutorial. Why even bother with SDL support if you're going to make it impossible for a newbie to actually start tinkering with it? "Oh, this is hard, you're on your own, and it's your own fault, I'm going to now laugh at your pitiful attempts to find documentation, huehuehue."
Some of us play tiles. Some of us want to add mechanics. Some of these mechanics aren't worth sharing because frankly they might not be balanced. We shouldn't be forced into this false dichotomy of either tinkering or tiles. The fact that the .cbp THAT COMES WITH THE REPO will NOT work is a serious problem. Not only will it not compile tiles, but since it's part of the repo, it will OVERWRITE my changes, forcing me to commit changes to a file I shouldn't have to, which will likely result in merge conflicts down the road, even if due to Git's incompetence these conflicts don't actually contain any conflicts.
Telling people they can't tinker unless they compile the console version or complete Hercules' 12 Labors is extremely short-sighted. A lot (if not most or even all) people tinker because they enjoy the game. If they're playing tiles, and it comes to either actually playing with their tinkered game in console mode or playing stock tiles, how many do you think will choose console? Do you really want an additional barrier to dev entry?