[CMake] 64 bit windows: rsp file not employed in build.make

Bill Hoffman bill.hoffman at kitware.com
Mon Aug 9 12:28:42 EDT 2010


On 8/9/2010 11:49 AM, Verweij, Arjen wrote:
> Hi,
>
> I'm investigating a problem where on 64-bit Windows the generated build.make (NMake or NMake JOM) does not make use of response files. I have tried transplanting the settings file for the 32 bit platform and minimizing differences, but still I cannot get it to use rsp files. This is a problem because I can't create one of the static libraries, since the command line is too long. Except for the missing rsp mechanism, I'm also unsure why in one case the linking is done through link.exe and by lib in the other.
>
> I've made sure to:
>
> - use a fresh copy of cmake 2.8.2 on both machines
> - not to mess with CMAKE_START_TEMP_FILE / CMAKE_END_TEMP_FILE
>
> Is there a way to see how cmake arrives at a generated rule, perhaps as it is generating? Of course if you know anything that might cause this behavior I would be keen to learn it.
>
> Thanks,
> Arjen
>
> Generated on win32 (VS2003 SE):
>
> 	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking CXX static library \win32p_cmake\lib\ulib\dom.lib"
> 	cd E:\build\src\ulib\dom
> 	$(CMAKE_COMMAND) -P CMakeFiles\dom.dir\cmake_clean_target.cmake
> 	cd E:\build
> 	cd E:\build\src\ulib\dom
> 	E:\PROGRA~1\MICROS~1.NET\Vc7\bin\link.exe /lib   /out:\win32p_cmake\lib\ulib\dom.lib @CMakeFiles\dom.dir\objects1.rsp
> 	cd E:\build
>
> Generated on win64 (Intel C/C++ 9.1, VS2005 SE):
>
> 	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking CXX static library \em64t-win_cmake\lib\ulib\dom.lib"
> 	cd E:\build\src\ulib\dom
> 	$(CMAKE_COMMAND) -P CMakeFiles\dom.dir\cmake_clean_target.cmake
> 	cd E:\build
> 	cd E:\build\src\ulib\dom
> 	lib   /out:\em64t-win_cmake\lib\ulib\dom.lib $(dom_OBJECTS) $(dom_EXTERNAL_OBJECTS)
> 	cd E:\build
>

One is using visual studio, and one is using the intel compiler.  They 
have different files in the Platform directory.  That is why they can be 
different.  See Windows-icl.cmake.

-Bill


More information about the CMake mailing list