In cmake projects, it seems that the scope of macros/functions is global. Whichever definition is seen last, wins.
The incompatible assign_if definition in cmake/Modules/CompilerRTUtils.cmake breaks the lldb project, since it so happens that lldb’s CMakeLists are processed after compiler_rt. * In compiler-rt, it’s expected that append_if operates on semicolon delimited strings, also known as cmake lists. * In core llvm, and in lldb, it’s expected that append_if operates on space-delmited strings. I propose to rename those macros/functions to list_append_if etc. If this is agreeable, I’ll prepare a patch. I dislike the “obvious” quick hack of moving the projects *after* tools in the main CMakeLists.txt. I think it must be a matter of policy to treat the cmake function/macro namespace as global across the entire project. I’m willing to write a script to check for this, so that people reviewing patches could sanity-check without undue manual labor. Cheers, Kuba Ober _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
