<div class="gmail_quote">On Sat, Oct 8, 2011 at 6:40 AM, Michael Hertling <span dir="ltr">&lt;<a href="mailto:mhertling@online.de">mhertling@online.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On 10/08/2011 05:33 AM, michael lowell roberts wrote:<br>
&gt; Hi all,<br>
&gt;<br>
&gt; I&#39;m attempting to use the ExternalProject module to compile and link against<br>
&gt; a library and I&#39;ve run into a problem that I&#39;m not certain how to address.<br>
&gt; I&#39;m using CMake 2.8.6 and Visual Studio 10 Express.<br>
&gt;<br>
&gt; The external project, in my case, is a CMake-compiled project and CMake<br>
&gt; predictably builds a matching configuration in the external project.<br>
&gt;<br>
&gt; The target_link_libraries() command, however, only allows for two<br>
&gt; configurations, at most, mapped to labels &quot;debug&quot; and &quot;optimized.&quot;<br>
&gt;<br>
&gt; This allows for only two of the four default build configurations to<br>
&gt; complete successfully.<br>
&gt;<br>
&gt; For example, in my build scripts, I have told target_link_libraries() to map<br>
&gt; &quot;debug&quot; configurations to the Debug version of library and optimized<br>
&gt; configurations map to the &quot;RelWithDebInfo&quot; build of the library. Therefore,<br>
&gt; if I build the &quot;Release&quot; configuration, I get linker errors because the<br>
&gt; external project was also built with the &quot;Release&quot; configuration but I need<br>
&gt; to link against &quot;RelWithDebInfo.&quot;<br>
&gt;<br>
&gt; It seems to be that no matter how the target_link_library() mappings are set<br>
&gt; up, only half of the default configurations will build properly because of<br>
&gt; the dualism that target_link_libraries() uses.<br>
&gt;<br>
&gt; How do I get all four default build configurations working?<br>
&gt;<br>
&gt; Regards,<br>
&gt; Mike<br>
<br>
</div></div>Could you boil down this issue to a minimal but self-contained<br>
exemplary project and post it here for further investigation?<br></blockquote><div><br></div><div>Certainly.</div><div><br></div><div>I&#39;ve attached a sample project that downloads and compiles the trio library, which can be found at the following site:</div>
<div><br></div><div><a href="http://daniel.haxx.se/projects/trio/">http://daniel.haxx.se/projects/trio/</a></div><div><br></div><div>It then attempts to link the library into a trivial executable that simply prints a message to the screen.</div>
<div><br></div><div>The build exhibits the problem I mentioned. Debug builds complete successfully. Release builds do not.</div><div><br></div><div>Additionally, the IDE appears incapable of determining when the build is up-to-date. Try to debug the executable to reproduce this problem. I&#39;m inclined to believe that this is due to something I&#39;ve done wrong and any help with this problem would also be appreciated.</div>
<div><br></div><div>Lastly, I&#39;m certain that there are other problems I have not identified yet. If you could point out anything else that is obviously problematic, I would be grateful. Perhaps I am over-complicating the code, for example.</div>
<div><br></div><div>Thanks,</div><div>Mike</div><div><br></div></div>