This makes it possible to further customize build process for particular
target in the user's CMake files.
- Documented some of the variables controlling test generation.
- test_suite_add_executable has been renamed to llvm_test_executable()
- removed 'mainsource' parameter
- return generated executable names, if user needs them
- Set include paths for current build/source dirs for each test we generate.
Note: previously iinclude path was set globally each time llvm_multisource() was invoked. It looked unintentional. Now it's set per executable and no longer applies to subdirectories. As far as I can tell, testsuite still builds. Please let me know if we do want/need to add include paths per directory on llvm_multisource() invocation.
Passing function results through global variable is ugly.
The cmake way to handle function results would be to have an additional (possibly optional) parameter that names the variable where we write the result to. That way you can at least see the connection at the call site.