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

Julien Jomier jjomier at cs.unc.edu
Tue Aug 10 11:31:37 EDT 2004


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