Actually we do have it already, although it is left as an undocumented feature because it does not work yet on Windows platform currently. The feature should work on all Unix-alike platforms: Linux, Mac, and even Raspberry Pi. The prerequisite software is “Rake”. Once installed, you can create a new project using the “scaffolding” task. In the command line, go to the Urho3D project root directory where the file called “Rakefile” is located and enter:
rake scaffolding dir=/path/to/your/new-project project=your-project-name target=your-project-name
It will create a new project in the specified directory. The new project copies the source code for building Urho3DPlayer. User is expected to replace the source codes with their own naturally. But as it is, the new project will compile and build. It expects to find Urho3D library (either static or shared) in the Urho3D project root directory. So, you must first build Urho3D library successfully before building the new project. The steps to configure the new project is exactly the same as how Urho3D project is being configured. In fact, the scaffolding task just creates the symbolic links to the cmake_*.sh scripts that you normally use for Urho3D in the new project directory.
Adding CMake script argument to show the build option help page is a good idea. The build option table is actually also available in Readme.txt in plain text. The file is in the same location as those cmake_*.sh scripts. So, I reckon it will be easy to “grep” the section and output it on demand. If somebody want to enhance the scripts, this is the approach I would suggest. Personally I don’t see any need though. We have enhanced our CMake build scripts to use CMake cache last year. The build options are cached after the first invocation. Subsequently the same script can be invoked without any options because CMake uses the previously cached build options automatically. Also, I find most of the time running “make” via command line or Alt+F7 in VS or ?+B in Xcode alone is sufficient to detect any source code changes (even in Lua *.pkg file) and the project would build itself incrementally. The only time I need to re-invoke the script again is when there are new source codes being added into the project.