<div dir="ltr">All,<div><br></div><div>I've been beating my head over this for about 3 days now and haven't gotten anywhere. There have been a few discussions on topics related to this question but nothing has gotten me a 100% solution (yet). I have created a StackOverflow post to see if I could get anything there but have yet to get any hits yet:</div><div><br></div><div><a href="http://stackoverflow.com/q/27261288/408160">http://stackoverflow.com/q/27261288/408160</a><br></div><div><br></div><div>My problem is this: I am using ExternalProject to add a project that gets built by make. I want the libs that come out of this project to be linked in with apps and libs I have in my project (I have created a sample project here: <a href="https://github.com/calebwherry/cmake-superprj-main-test">https://github.com/calebwherry/cmake-superprj-main-test</a>). </div><div><br></div><div>The external lib compiles correctly but the issue is with how it is linked to my apps and libs: whenever I do ldd on them the path shows up as relative for the external lib. This means that is cannot be run anywhere but from the directory CMake puts it. Setting LD_LIBRARY_PATH or messing with RPATH does not effect the external lib, it always shows up with a relative path like so:</div><div><br></div><div><pre class="" style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;color:rgb(0,0,0);line-height:17.8048000335693px;background:rgb(238,238,238)"><code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-image:initial;background-repeat:initial"><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">libTestLib</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">so </span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">=></span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">/</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">home</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">/</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">jwherry3</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">/</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">repos</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">/</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">cmake</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">-</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">superprj</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">-</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">main</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">-</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">test</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">/</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">build</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">/</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">src</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">/</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">lib</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">/</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">TestLib</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">/</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">libTestLib</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">so </span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">0x00007f592da57000</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">)</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">
    </span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">../../</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">lib</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">/</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">libExtLib</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">so </span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">0x00007f592d855000</span><span class="" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">)</span></code></pre></div><div><div>The first lib (libTestLib.so) is the one built with CMake in the superproject and the second (libExtLib.so) is the external lib. I have no idea how to get it NOT to do this. I think it is potentially something wrong with how I am interfacing with the ExternalProject target but am not sure. The github example is fully compilable and exhibits the undesired behavior (Debian Wheezy 64-bit, CMake 3.0.1, g++-4.9.2).</div><div><br></div><div>Thanks for the help!</div><div>Caleb</div><div><br></div>-- <br><div class="gmail_signature"><div>J. Caleb Wherry</div><i>Scientific Software Engineer</i><div><br><a href="http://www.calebwherry.com" target="_blank"></a><div><a href="http://www.calebwherry.com" target="_blank">http://www.calebwherry.com</a><br><span><span title="Call with Google Voice"><span title="Call with Google Voice">+1 (615) 708-5651</span></span></span><div><a href="mailto:calebwherry@gmail.com" target="_blank">calebwherry@gmail.com</a></div></div></div></div>
</div></div>