<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Hi all,<br><br>I am trying to use CMake to build my code under multiple configurations:<br><br>1.&nbsp; x86 and x64<br>2.&nbsp; MSVC various versions and MinGW-W64 mainly<br>3.&nbsp; Debug and release (optional)<br><br>In each case I would like to link the code with a corresponding pre-compiled version of UnitTest++.<br>(There is always an option to include UnitTest++ as a target into the project, but I do not see the<br>point in building UnitTest++ on each run and for each project where UnitTest++ is used.&nbsp; Please let<br>me know if the direction I am taking here is not correct.)<br><br>The case for MinGW-W64 seems to be more involved since they have two separate toolchains for<br>x86 and x64.&nbsp; How would I even write CMakeLists.txt for these two such that correct paths to x86<br>and x64 bin folders is recognized?<br><br>Another thing I would like to do is to specify folders where the output binaries are created using<br>EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH.&nbsp; This would again be based on the<br>configuration used (MinGW-64 vs. MSVC, and x86 vs. x64)<br><br>I have looked into the following, but have not been able to figure it all out as yet:<br><br>&nbsp;&nbsp; &nbsp;From:&nbsp; http://www.elpauer.org/stuff/learning_cmake.pdf<br><br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TARGET_LINK_LIBRARIES(wakeup RELEASE ${wakeup_SRCS})<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TARGET_LINK_LIBRARIES(wakeupd DEBUG ${wakeup_SRCS})<br><br>&nbsp;&nbsp; &nbsp;Notes:<br>&nbsp;&nbsp; &nbsp;- This allows specifying different libraries for debug and release, but there does not seem to<br>&nbsp;&nbsp; &nbsp;&nbsp; be an option to use the same method to specify different libraries for x86 vs. x64.<br><br>&nbsp;&nbsp; &nbsp;From:&nbsp; http://www.cmake.org/pipermail/cmake/2009-June/030072.html<br><br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;# check 64 bit<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if( CMAKE_SIZEOF_VOID_P EQUALS 4 )<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;set( HAVE_64_BIT 0 )<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;else()<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;set( HAVE_64_BIT 1 )<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endif()<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>Thanks,<br><br>Alok                                               <br /><hr />The New Busy think 9 to 5 is a cute idea. Combine multiple calendars with Hotmail.  <a href='http://www.windowslive.com/campaign/thenewbusy?tile=multicalendar&ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_5' target='_new'>Get busy.</a></body>
</html>