<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Mar 14, 2014 at 5:02 PM, Kuba Ober <span dir="ltr"><<a href="mailto:kuba@mareimbrium.org" target="_blank">kuba@mareimbrium.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">In cmake projects, it seems that the scope of macros/functions is global.<br>
Whichever definition is seen last, wins.<br>
<br>
The incompatible assign_if definition in cmake/Modules/CompilerRTUtils.cmake<br>
breaks the lldb project, since it so happens that lldb’s CMakeLists are processed<br>
after compiler_rt.<br></blockquote><div><br><br></div><div>For reference, this was broken by r203773. The problem Kuba describes is still present.<br><br></div><div>Until a better fix is in place, anyone else seeing this problem (which should trigger anytime you build llvm, compiler_rt, and lldb together via cmake) can work around it with this hack:<br>

<br>diff --git a/CMakeLists.txt b/CMakeLists.txt<br>index cf27ead..59ba634 100644<br>--- a/CMakeLists.txt<br>+++ b/CMakeLists.txt<br>@@ -129,8 +129,9 @@ endif()<br> # Disable GCC warnings<br> check_cxx_compiler_flag("-Wno-deprecated-declarations"<br>

                         CXX_SUPPORTS_NO_DEPRECATED_DECLARATIONS)<br>-append_if(CXX_SUPPORTS_NO_DEPRECATED_DECLARATIONS<br>-          "-Wno-deprecated-declarations" CMAKE_CXX_FLAGS)<br>+if (CXX_SUPPORTS_NO_DEPRECATED_DECLARATIONS)<br>

+  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")<br>+endif()<br> <br> # Disable Clang warnings<br> check_cxx_compiler_flag("-Wno-deprecated-register"<br><br></div><div><br>
</div><div>Will<br></div></div></div></div>