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

Gabriel Petrovay gabipetrovay at gmail.com
Wed Dec 8 14:28:03 EST 2010


What does "Visual Studio Non-Incremental Link" mean in the below output?
In the link command below you can see the /INCREMENTAL /DUMMY options.
I explicitly added them now but still the same behaviour:

What can it be the problem that I still get:
LINK : updtestdriver.exe not found or not built by the last
incremental link; performing full link
?

Thanks!

Linking CXX executable updtestdriver.exe
        cd C:\Users\Gabriel\Work\28msec\zorba\builds\debug10\test\update
        "C:\Program Files\CMake 2.8\bin\cmake.exe" -E vs_link_exe
C:\PROGRA~1\MICROS~2.0\VC\bin\cl.exe  /nologo
@CMakeFiles\updtestdriver.dir\objects1.rsp @C:\U
sers\Gabriel\AppData\Local\Temp\nm207E.tmp
Visual Studio Non-Incremental Link
LINK:
C:\PROGRA~1\MICROS~2.0\VC\bin\cl.exe /nologo
@CMakeFiles\updtestdriver.dir\objects1.rsp /DWIN32 /D_WINDOWS /W3
/Zm1000 /EHsc /GR /W3 /DNOMINMAX /MP2 /Wp64 /D_DE
BUG /MDd /Zi /Ob0 /Od /RTC1 /Feupdtestdriver.exe
/FdC:\Users\Gabriel\Work\28msec\zorba\builds\debug10\test\update\updtestdriver.pdb
-link /implib:updtestdriver.
lib /version:0.0 /STACK:10000000 /machine:X86 /debug /INCREMENTAL
/DUMMY /subsystem:console ..\..\src\zorba_simplestore.lib
C:\Users\Gabriel\Work\28msec\tools\c
url_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\28m
sec\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\icudt.
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:\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
..\..\external\json\
json.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib
shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
/MANIFEST
cl : Command line warning D9035 : option 'Wp64' has been deprecated
and will be removed in a future release
cl : Command line warning D9035 : option 'Wp64' has been deprecated
and will be removed in a future release
cl : Command line warning D9035 : option 'Wp64' has been deprecated
and will be removed in a future release
LINK : warning LNK4044: unrecognized option '/DUMMY'; ignored
LINK : updtestdriver.exe not found or not built by the last
incremental link; performing full link
MT:
C:/Program Files/Microsoft SDKs/Windows/v7.0A/bin/mt.exe /nologo
/manifest updtestdriver.exe.manifest
/outputresource:updtestdriver.exe;#1
        cd C:\Users\Gabriel\Work\28msec\zorba\builds\debug10
        "C:\Program Files\CMake 2.8\bin\cmake.exe" -E
cmake_progress_report
C:\Users\Gabriel\Work\28msec\zorba\builds\debug10\CMakeFiles
[ 97%] Built target updtestdriver

On Wed, Dec 8, 2010 at 8:01 PM, Bill Hoffman <bill.hoffman at kitware.com> wrote:
> On 12/8/2010 1:49 PM, Gabriel Petrovay wrote:
>>
>> On Wed, Dec 8, 2010 at 7:09 PM, Bill Hoffman<bill.hoffman at kitware.com>
>>  wrote:
>>>
>>> On 12/8/2010 12:53 PM, Gabriel Petrovay wrote:
>>>>
>>>> Hi Bill,
>>>>
>>>> First just by running "cmake -E vs_link_exe" CMake crashes on my
>>>> machine (CMake 2.8.2, Win7): "cmake.exe stopped working" "Close the
>>>> program/Debug the program". Is this the right behaviour?
>>>>
>>> It is not meant to be a command that is called by hand, so it might not
>>> have
>>> all the arguments it wants, and it crashed.  Not expected, but not that
>>> harmful either.
>>>
>>>> Then, below is my verbose output. I see no /INCREMENTAL:YES in my link
>>>> command. How did you get this in your link command? (This is anyway
>>>> the default option.)
>>>
>>> Are you building Release?  I think CMake only defaults to incremental
>>> builds
>>> for debug builds.  So, RELWITHDEBINFO and DEBUG build types will be the
>>> only
>>> ones that do this by default.
>>
>> I am building in debug mode.
>>
>
> My guess is that you have modified the flags in such a way that the
> incremental flag is missing.   Might be something else not sure... It is
> working for me...
>
>> So, what happens with the debug build?
>>
> It runs -E vs_link_exe.
>
> See: cmake.cxx
>
> http://cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmake.cxx;h=ddfdc24e8c66aa7461f859a8f77b70721a894afe;hb=HEAD
>
> This function in particular:
>
> int cmake::VisualStudioLinkIncremental().
>
>
> -Bill
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>



-- 
MSc Gabriel Petrovay
Mobile: +41(0)787978034
www.28msec.com


More information about the CMake mailing list