It's not really a strange CMake error, just ambiguous as to what the cause might be. To me it suggests a few possibilities, most likely of which are 1) not having CMakeLists.txt in all relevant sub-directories and 2) one or more relative addresses are incorrectly specified. However, manually specifying files in CMake is a valid and in many cases superior approach, and if it's working for you, I would stick with it until a point at which it no longer works for you, and reconsider it then.
If you're looking for examples of good project structure for C++ projects and Urho projects in particular, I would suggest looking at the Urho3D source code itself. At its core it's a viable solution to this problem, even if I don't agree with it entirely myself (for mostly personal/aesthetic reasons).
To answer your original question, I make significant, application specific changes to the engine core, and so have forked the engine and add new demos/project code directly in the Samples folder. I would not recommend this to others for obvious reasons.