[CMake] 64 bit windows: rsp file not employed in build.make
Verweij, Arjen
VerweijA at tass-safe.com
Tue Aug 10 05:29:02 EDT 2010
Hi,
>The objects1.rsp file is generated by CMake during configuration. The
>start/end temp file syntax tells NMake to use response files at build
>time.
Why is this scheme only used for shared libs and not static libs? For static libs it works automagically somehow.
>The link rule uses objects1.rsp with cl but not icl because cl.cmake
>has:
>
> SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1)
> SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1)
OK. But in cl.cmake these variables are only set after the definition of CMAKE_C_CREATE_STATIC_LIBRARY and CMAKE_CXX_CREATE_STATIC_LIBRARY (i.e. for shared libs), so I didn't think of it.
>These should probably be added to Windows-icl.cmake too. We already
>have
>
> SET(CMAKE_Fortran_USE_RESPONSE_FILE_FOR_OBJECTS 1)
>
>in Windows-ifort.cmake.
Indeed for pure Fortran it works. I can happily link 40k files into a single lib. I have added suggested settings locally to my Windows-icl.cmake and I can build a lib from a large number of objects now.
Please find a patch attached. It has the definitions in the top like Windows-ifort.cmake (as opposed to cl.cmake)
NOTE: this does not include the change from /INCREMENTAL:YES to /INCREMENTAL:NO that stops the ICE with Intel C/C++ and Intel Fortran 9.1. I still use that locally, but after reading Bill's comments it seems the wrong way to fix it.
Thanks,
Arjen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Windows-icl.cmake.patch
Type: application/octet-stream
Size: 582 bytes
Desc: Windows-icl.cmake.patch
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100810/dc2ecac0/attachment.obj>
More information about the CMake
mailing list