We tested the external project linking to Urho3D as external library everyday for all the supported platforms in our Travis CI setup. We have gone an extra mile to ensure that external project can find the Urho3D library, provided the external project is being setup correctly as per documentation. You can study the Rakefile script closely how it uses cmake_gcc.sh single-handedly to configure the projects for Linux, Windows, Android, and Raspberry Pi. You can see that it can achieve all this with the same set of CMakeLists.txt. You can also see that how the same cmake_gcc.sh script is being used to configure both the Urho3D project and external project to use the CMake’s android toolchain.
There are two steps for Android build (this is how I understand it, please correct me if I am wrong):
[ol]
[li] Compiling and linking C/C++ native-code with the help of Android NDK and CMake’s android toolchain.[/li]
[li] Creating APK with the help of Android SDK which targets a range of API levels.[/li][/ol]
Only in step 2, you need the “Source/Android” directory structure as mentioned by Lasse. Your Android project would need both steps, of course. Our CI build does both steps for Urho3D project but only step 1 for external project (because we only want to test it whether it can link with Urho3D library without creating another apk).
Project configuration for cross-compiling builds, using MinGW, Android, or Raspberry PI toolchain, are still not fully tested via CMake GUI (graphical user interface). But I am not saying it is not possible. Currently our build scripts know which build options are specific to those platforms and will attempt to make the options available for user to configure interactively in the GUI. However, it stops short to configure the toolchain part. So, I would say, unless you know what you are doing, you are better off with configuring for cross-compiling builds using the CMake CLI (command line interface) via the provided cmake_* shell scripts or batch files.
Going back to your CMake error. You should not get it if you have followed the setup correctly as per documentation. You need to set the URHO3D_HOME correctly or install the Urho3D library/SDK correctly. Can you tell us which approach do you use? If it is the former, make sure CMAKE_MODULE_PATH is set properly and the Urho3D library itself has been built. I am sorry to point out the obvious as I could not think of anything else for the failure.