[Insight-developers] ITK with free VC++ compiler

William A. Hoffman billlist at nycap.rr.com
Tue Aug 10 20:57:21 EDT 2004


Looks like for now you will have to create a CMakeCache.txt file with the
correct settings for the CXX and C flags and put it in the binary directory before
running cmake.

-Bill


At 11:31 AM 8/10/2004, Julien Jomier wrote:
>Hi Bill,
>
>> CMakeSetup -C InitialCacheVCFreeTools.cmake
>I tried CMakeSetup -CInitialCacheVCFreeTools.cmake but it seems that
>CMakeSetup is not loading the initial cache.
>I tried CMake -CInitialCacheVCFreeTools.cmake -G"NMake Makefiles"
>../Insight, the cache is now correct but TRY_COMPILE still fails asking for
>the wrong lib (msvcprtd.lib). I'm using CMake 2.0.3.
>
>Let me know if I should try something else,
>
>Thanks for the help,
>
>Julien
>
>> -----Original Message-----
>> From: insight-developers-bounces at itk.org 
>> [mailto:insight-developers-bounces at itk.org] On Behalf Of 
>> William A. Hoffman
>> Sent: Tuesday, August 10, 2004 7:53 AM
>> To: Julien Jomier; 'Insight Developers List'
>> Subject: Re: [Insight-developers] ITK with free VC++ compiler
>> 
>> 
>> For now, you will have to do something like this.
>> Create a file that presets the flags to something different.  
>> Create a file like this:
>> (change all the flags to what they need to be,
>> and save this in a file called InitialCacheVCFreeTools.cmake)
>> 
>>   SET (CMAKE_CXX_FLAGS "/W3 /Zm1000 /GX /GR" CACHE STRING
>>      "Flags used by the compiler during all build types.")
>>   SET (CMAKE_CXX_FLAGS_DEBUG "/MDd /Zi /Od /GZ" CACHE STRING
>>      "Flags used by the compiler during debug builds.")
>>   SET (CMAKE_CXX_FLAGS_MINSIZEREL "/MD /O1 /D NDEBUG" CACHE STRING
>>       "Flags used by the compiler during release minsize builds.")
>>   SET (CMAKE_CXX_FLAGS_RELEASE "/MD /O2 /D NDEBUG" CACHE STRING
>>      "Flags used by the compiler during release builds (/MD 
>> /Ob1 /Oi /Ot /Oy /Gs will produce slightly less optimized but 
>> smaller files).")
>>   SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /Zi /O2 /D NDEBUG" 
>> CACHE STRING
>>      "Flags used by the compiler during Release with Debug 
>> Info builds.")
>>   SET (CMAKE_C_FLAGS "/W3 /Zm1000")
>>   SET (CMAKE_C_FLAGS_DEBUG "/MDd /Zi /Od /GZ" STRING
>>       "Flags used by the compiler during debug builds.")
>>   SET (CMAKE_C_FLAGS_MINSIZEREL "/MD /O1 /D NDEBUG" CACHE STRING
>>       "Flags used by the compiler during release minsize builds.")
>>   SET (CMAKE_C_FLAGS_RELEASE "/MD /O2 /D NDEBUG" CACHE STRING
>>      "Flags used by the compiler during release builds (/MD 
>> /Ob1 /Oi /Ot /Oy /Gs will produce slightly less optimized but 
>> smaller files).")
>>   SET (CMAKE_C_FLAGS_RELWITHDEBINFO "/MD /Zi /O2 /D NDEBUG" 
>> CACHE STRING
>>      "Flags used by the compiler during Release with Debug 
>> Info builds.")
>> 
>> 
>> CMakeSetup -C InitialCacheVCFreeTools.cmake
>> 
>> Let me know if this works for you.
>> I will look into a patch for CMake to support this setup in a 
>> cleaner way.
>> 
>> -Bill
>> 
>> At 05:06 PM 8/9/2004, Julien Jomier wrote:
>> >Hello,
>> >
>> >I successfully compiled ITK with the free VC++ compiler. 
>> However I had to
>> >manually modify the CMakeCache.txt because all the 
>> TRY_COMPILE are failing
>> >the first time I run CMake.
>> >
>> >Here's the full story. The free vc compiler doesn't work with the
>> >Multithreaded DLL run-time library because msvcprt.lib (and the debug
>> >version msvcprtd.lib) are not included with the free 
>> compiler. On the other
>> >hand, the multithreaded libraries (msvcrt.lib and 
>> msvcrtd.lib) are included.
>> >By default CMake sets the CMAKE_CXX_FLAGS (and CMAKE_C_FLAGS) to /MD
>> >(Multithreaded DLL) and therefore all TRY_COMPILE fail because the
>> >msvcprt.lib is not found. Then when changing the CXX_FLAGS to /MT
>> >(Mutithreaded), this doesn't cause CMake to redo the 
>> TRY_COMPILE because the
>> >values are cached.
>> >
>> >Is there any easy way to fix this?
>> >
>> >I'll setup a dashboard for this compiler.
>> >
>> >Thanks,
>> >
>> >Julien
>> >
>> >_______________________________________________
>> >Insight-developers mailing list
>> >Insight-developers at itk.org
>> >http://www.itk.org/mailman/listinfo/insight-developers 
>> 
>> _______________________________________________
>> Insight-developers mailing list
>> Insight-developers at itk.org
>> http://www.itk.org/mailman/listinfo/insight-developers
>> 



More information about the Insight-developers mailing list