[CMake] Did anyone manage to get incremental linking working with NMake generator?

Gabriel Petrovay gabipetrovay at gmail.com
Thu Dec 9 05:26:03 EST 2010


Thanks Bill for the trick.

Unfortunately this works only for exe targets.
It doesn't work for dll's. Moreover, before the link command there is this
output: "Visual Studio Non-Incremental Link"

Below you have the verbose build output (regardless if it's the first, 2nd,
etc). Maybe this helps.

Linking CXX shared library zorba_simplestore.dll
       cd C:\Users\Gabriel\Work\28msec\zorba\builds\debug10\src
       "C:\Program Files\CMake 2.8\bin\cmake.exe" -E vs_link_dll
C:\PROGRA~1\MICROS~2.0\VC\bin\link.exe /nologo
@CMakeFiles\zorba_simplestore.dir\objects1.rsp
@C:\Users\Gabriel\AppData\Local\Temp\nm565E.tmp
*Visual Studio Non-Incremental Link*
LINK:
C:\PROGRA~1\MICROS~2.0\VC\bin\link.exe /nologo
@CMakeFiles\zorba_simplestore.dir\objects1.rsp /out:zorba_simplestore.dll
/implib:zorba_simplestore.lib /pdb:C:\U
sers\Gabriel\Work\28msec\zorba\builds\debug10\src\zorba_simplestore.pdb /dll
/version:1.5 /STACK:10000000 /machine:X86 /debug
C:\Users\Gabriel\Work\28msec\tools
\curl_7_19_3\libcurl_imp.lib
C:\Users\Gabriel\Work\28msec\tools\tidy\lib\tidy.lib
C:\Users\Gabriel\Work\28msec\tools\iconv\lib\iconv.lib
C:\Users\Gabriel\Work\2
8msec\tools\icu_4_4_1_src\lib\icuuc.lib
C:\Users\Gabriel\Work\28msec\tools\icu_4_4_1_src\lib\icuin.lib
C:\Users\Gabriel\Work\28msec\tools\icu_4_4_1_src\lib\icud
t.lib C:\Users\Gabriel\Work\28msec\tools\libxml2\lib\libxml2.lib
C:\Users\Gabriel\Work\28msec\tools\xerces-c-3.1.1-x86-windows-vc-10.0\lib\xerces-c_3.lib
C:\Use
rs\Gabriel\Work\28msec\tools\libxml2\lib\libxml2.lib
..\external\json\json.lib wsock32.lib
C:\Users\Gabriel\Work\28msec\tools\xerces-c-3.1.1-x86-windows-vc-10.0
\lib\xerces-c_3.lib wsock32.lib kernel32.lib user32.lib gdi32.lib
winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib
advapi32.lib /MANIFEST
*LINK : zorba_simplestore.dll not found or not built by the last incremental
link; performing full link*
  Creating library zorba_simplestore.lib and object zorba_simplestore.exp
MT:
C:/Program Files/Microsoft SDKs/Windows/v7.0A/bin/mt.exe /nologo /manifest
zorba_simplestore.dll.manifest /outputresource:zorba_simplestore.dll;#2
       cd C:\Users\Gabriel\Work\28msec\zorba\builds\debug10


On Thu, Dec 9, 2010 at 5:10 AM, Bill Hoffman <bill.hoffman at kitware.com>
wrote:
> On 12/8/2010 10:18 PM, Bill Hoffman wrote:
>>
>> On 12/8/2010 4:21 PM, Gabriel Petrovay wrote:
>>>
>>> Yes I did. That is why I am wrote this post. Regardless of previous
>>> build. I always get:
>>> LINK : examples.exe not found or not built by the last incremental
>>> link; performing full link
>>>
>>
>> Try a make VERBOSE=1 with the /incremental:yes on, and post the results
>> of the second build that should be incremental.
>>
>
> Never mind, I have reproduced the problem.  It seems like the incremental
> linking is broken for VS 2010 nmake.
>
> To get it to work, you have to do add /INCREMENTAL:YES to
> CMAKE_EXE_LINKER_FLAGS_DEBUG, you get a warning but it does the correct
> thing with mt and the incremental linking:
>
> [ 75%] Built target simpleLib
> Scanning dependencies of target Simple
> [100%] Building CXX object CMakeFiles/Simple.dir/simple.cxx.obj
> simple.cxx
> Linking CXX executable Simple.exe
> LINK : warning LNK4224: /INCREMENTAL:YES is no longer supported;  ignored
> [100%] Built target Simple
>
> I will have to figure out a new way to add incremental linking to VS2010.
>
> -Bill
>
>
>



-- 
MSc Gabriel Petrovay
Mobile: +41(0)787978034
www.28msec.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20101209/43983b1c/attachment-0001.htm>


More information about the CMake mailing list