[CMake] MSVC71 WholeProgramOptimization flag (/LTCG) fixed?
Luke Kucalaba
lkucalaba at dsci.com
Fri Oct 10 13:44:56 EDT 2008
I posted an issue on the mantis bug tracker a while ago regarding supporting the /LTCG option for the MSVC71 generator. The issue history indicates this problem is fixed, but with CMake 2.6.2 the correct flags are still not being generated for the MSVC71 project files and nmake makefiles. Fortunately, the MSVC compiler/linker is smart enough to realize this and restarts the link using /LTCG. The only bad thing about this is it extends the time required to link because it has to restart the link again.
Some details are provided below. Thanks in advance!
Luke
-----------------------
NMake output:
-----------------------
Linking CXX static library ..\build\MT-DLL\Util-SL.lib
XMLWriter.cpp.obj : warning LNK4218: non-native module found; restarting link with /LTCG
-----------------------
MSVC71 output:
-----------------------
Timer.obj : warning LNK4218: non-native module found; restarting link with /LTCG
-----------------------------
Here's the original issue:
-----------------------------
Summary 0006794: Visual Studio compiler 'WholeProgramOptimization' (/LTCG)
Description
Hi,
The cl.exe compiler option /LTCG (i.e. "WholeProgramOptimization") does not seem to be generated correctly into the Visual Studio project file. This error occurs in Visual Studio .NET 2003 (v7.1), and probably occurs in later versions as well.
The /LTCG is a whole configuration setting, which should be added to the "Configuration" xml tag in the vcproj file as in the following example:
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
. . .
WholeProgramOptimization="TRUE">
This should be an easy fix. Please feel free to contact me with any questions you may have.
Thanks!
Luke
(0013076)
bill.hoffman (manager)
2008-08-19 15:09
Committer: Bill Hoffman <bill.hoffman at kitware.com>
/cvsroot/CMake/CMake/Source/cmGlobalVisualStudio7Generator.cxx,v <-- cmGlobalVisualStudio7Generator.cxx
new revision: 1.101; previous revision: 1.100
BTW, this flag is not supported in VS8 and greater:
cl : Command line warning D9002 : ignoring unknown option '/LTGC'
Issue History
Date Modified Username Field Change
2008-04-11 15:49 lkucalaba New Issue
2008-08-19 15:09 bill.hoffman Status new => closed
2008-08-19 15:09 bill.hoffman Note Added: 0013076
2008-08-19 15:09 bill.hoffman Resolution open => fixed
More information about the CMake
mailing list