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?
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.) The problem is that calling mt.exe after linking modifies the timestamp of the dll. Therefore the next run of nmake will trigger a full link as the below output shows: LINK : zorba_simplestore.dll not found or not built by the last incremental link; performing full link But I already had the dll built by a previous build. Any thoughts? Thanks! > nmake zorba_simplestore/fast VERBOSE=1 ---------------------------------------- Microsoft (R) Program Maintenance Utility Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved. "C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe" -f src\CMakeFiles\zorba_simplestore.dir\build.make /nologo - src\CMakeFiles\zorba_simplestore.dir\build "C:\Program Files\CMake 2.8\bin\cmake.exe" -E cmake_progress_report C:\Users\Gabriel\Work\28msec\zorba\builds\debug10\CMakeFiles Building CXX object src/CMakeFiles/zorba_simplestore.dir/debugger/debugger_clientimpl.obj cd C:\Users\Gabriel\Work\28msec\zorba\builds\debug10\src C:\PROGRA~1\MICROS~2.0\VC\bin\cl.exe @C:\Users\Gabriel\AppData\Local\Temp\nm82B8.tmp cl : Command line warning D9035 : option 'Wp64' has been deprecated and will be removed in a future release debugger_clientimpl.cpp cd C:\Users\Gabriel\Work\28msec\zorba\builds\debug10 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\nm8F94.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:\Users\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\28msec\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 ..\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 Wed, Dec 8, 2010 at 6:01 PM, Bill Hoffman <bill.hoff...@kitware.com> wrote: > On 12/8/2010 10:36 AM, Gabriel Petrovay wrote: >> >> Hi, >> >> Does anyone have some experience with the NMake generator and with >> incremental linking. There seems to be a bug in CMake. Currently NMake >> generator seems to generate build files that are not compatible with >> incremental linking of libraries. >> >> I posted the details here: >> http://www.cmake.org/pipermail/cmake/2010-December/041181.html >> >> Thanks! >> > > That actually should work with CMake, I spent some time making sure it would > work. > > You should see CMake running the link step via cmake -E vs_link_exe. That > script does this: > -> Link the binary to generate the MyApp.exe.manifest file. > -> Convert the manifest to a resource file. > -> Re-link (incrementally) to embed the manifest resource into the binary." > > > Linking CXX executable Simple.exe > "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E vs_link_exe > C:\PROGRA~2\MICROS~1.0\VC\bin\cl.exe /nologo > @CMakeFiles\Simple.dir\objects1.rsp @.\nmCC8E.tmp > Visual Studio Incremental Link with embeded manifests > Create Simple.exe.resource.txt > RC Pass 1: > C:/Program Files/Microsoft SDKs/Windows/v6.0A/Bin/RC.Exe > /foSimple.exe.embed.manifest.res Simple.exe.resource.txt > LINK Pass 1: > C:\PROGRA~2\MICROS~1.0\VC\bin\cl.exe /nologo > @CMakeFiles\Simple.dir\objects1.rsp /DWIN32 /D_WINDOWS /W3 /Zm1000 /EHsc /GR > /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1 /FeSimple.exe /FdC:\Users\hoffman\Work\My > Builds\CMake\Tests\Simple\b\Simple.pdb -link /implib:Simple.lib /version:0.0 > /STACK:10000000 /machine:X86 /debug /INCREMENTAL:YES /subsystem:console > simpleLib.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib > ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST > /MANIFESTFILE:Simple.exe.intermediate.manifest Simple.exe.embed.manifest.res > LINK : Simple.exe not found or not built by the last incremental link; > performing full link > MT: > C:/Program Files/Microsoft SDKs/Windows/v6.0A/Bin/mt.exe /nologo > /out:Simple.exe.embed.manifest /notify_update /manifest > Simple.exe.intermediate.manifest > "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E > cmake_progress_report "C:\Users\hoffman\Work\My > Builds\CMake\Tests\Simple\b\CMakeFiles" 1 > [100%] Built target Simple > "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E > cmake_progress_start "C:\Users\hoffman\Work\My > Builds\CMake\Tests\Simple\b\CMakeFiles" > > > -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 _______________________________________________ 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