<div dir="ltr">Hi All,<div><br></div><div>> <span style="font-family:arial,sans-serif;font-size:13px">One thing I hope we can avoid is having an rpath always set. (Some guessing about the flags which cmake start adding) A build server path won't be the same as the end user path and imho it's not good to have the "wrong" hardcoded path still embedded. This would impact distributors. </span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Very good point. This change does add the ABI libraries path to libc++'s rpath. However by default CMake removes the rpath from the library when it is installed.</span></div><div><span style="font-family:arial,sans-serif;font-size:13px">If you don't want the rpath while while the library is in the build tree you can configure cmake using `CMAKE_SKIP_BUILD_RPATH=TRUE'. CMake allows for the RPATH handling to by highly customized without having to modify libc++'s CMakeList.txt. Please read </span><font face="arial, sans-serif"><a href="http://www.cmake.org/Wiki/CMake_RPATH_handling">http://www.cmake.org/Wiki/CMake_RPATH_handling</a> for further details. </font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">> </font><span style="font-family:arial,sans-serif;font-size:13px">‎What do you think about just not using find_path for cxxrt. If it impacts anyone you can assign the bug to me and I'll handle it.</span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><font face="arial, sans-serif">I would be uncomfortable with that behavior. You should be able to configure for each ABI library in the same way.</font></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div>> <span style="font-family:arial,sans-serif;font-size:13px">We build both libcxxrt and libc++ at the same time. One is a dependency to the other, but there's a parent cmake project handling this. The libc++ cmake generated at the same time as libcxxrt and thus why find_library can't find the "soon-to-be-built" libcxxrt. Previously we let the compiler handle the -L and friends for libcxxrt since it's special and needs to be relocatable. Personally, I don't think this is an unreasonable build scenario and I hope there's an easy way to support it. (Either by disabling find_library under some conditional or something else)</span></div><div><br></div><div>That makes sense. Is the target you use to build libcxxrt named "cxxrt" by chance?  I agree it is a reasonable scenario and I think we should be able to support it. However, I'm uncomfortable committing to a supported way to configure CMake that doesn't work 100%. Currently, with what your asking, there is no way to pass the test suite enough information to find the ABI library. I don't think it's unreasonable that libc++'s configuration fails if the library cannot be found.</div><div><br></div><div>On your end have you considered handling libc++ using CMake's ExternalProject functionality?</div><div>That seems like a standard CMake way of handling your problem.</div><div><br></div><div>/Eric</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Oct 18, 2014 at 5:39 AM, C Bergström <span dir="ltr"><<a href="mailto:cbergstrom@pathscale.com" target="_blank">cbergstrom@pathscale.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I looked a bit closer and here's my best guess what's happening in my case.<div><br></div><div>We build both libcxxrt and libc++ at the same time. One is a dependency to the other, but there's a parent cmake project handling this. The libc++ cmake generated at the same time as libcxxrt and thus why find_library can't find the "soon-to-be-built" libcxxrt. Previously we let the compiler handle the -L and friends for libcxxrt since it's special and needs to be relocatable. Personally, I don't think this is an unreasonable build scenario and I hope there's an easy way to support it. (Either by disabling find_library under some conditional or something else)</div><div><br></div><div>It should be easy to do this, but I can send a patch if it's more convenient</div><div><br></div><div>Thanks</div></div>
</blockquote></div><br></div>