Re: How to handle generated arguments list in CMake
You probably want to use the execute_process() on "llvm-config --cppflags", then "llvm-config --ldflags", etc. and store each into a variable using a regular expression if necessary to parse the output. From there you can call include_directories(), add_definitions(), and target_link_libraries() as needed.
You might be able to adapt FindPkgConfig.cmake for your purposes (having it call llvm-config instead)? You might also have a look at FindXMLRPC.cmake as it does similar parsing to what you would need.
This assumes that you want CMake to work with the output of any llvm-config. If you don't need this level of detail you can probably cut corners just to get it working.