[cmake-developers] [CMake] Nina Generator on Windows generates too long link cmd lines

Claus Klein claus.klein at arcormail.de
Tue Jun 5 14:57:14 EDT 2012


Hi Bill,

IMO response file handling should NOT disabled for unix host at all.

With this patch, it may be checked on Darwin and perhaps the same is  
needed for BSD?

claus-kleins-macbook-pro:AgentProBuild clausklein$ make CMakeCache.txt
-- The C compiler identification is GNU 4.7.0
-- The CXX compiler identification is GNU 4.7.0
-- Could not determine Eclipse version, assuming at least 3.6  
(Helios). Adjust CMAKE_ECLIPSE_VERSION if this is wrong.
-- Checking whether /opt/local/bin/ar tool supports response @file  
option
-- Checking whether /opt/local/bin/ar tool supports response @file  
option - no
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Checking whether /opt/local/bin/ar tool supports response @file  
option
-- Checking whether /opt/local/bin/ar tool supports response @file  
option - no
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag -  
yes
-- Check for working CXX compiler using: Ninja
-- Check for working CXX compiler using: Ninja -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
...

Claus


-------------- next part --------------
A non-text attachment was scrubbed...
Name: PlatformDarwin-GNU.patch
Type: application/octet-stream
Size: 1253 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20120605/c9bc2f3f/attachment-0002.obj>
-------------- next part --------------


On 04.06.2012, at 23:13, Bill Hoffman wrote:

> On 6/4/2012 2:22 PM, Peter K?mmel wrote:
>> We use ninja's response files:
>>
>> # Rule for linking CXX static library.
>> rule CXX_STATIC_LIBRARY_LINKER
>>   command = E:\sandbox\MinGW32\bin\ar.exe cr $out $LINK_FLAGS @ 
>> $out.rsp
>>   description = Linking CXX static library $out
>>   rspfile = $out.rsp
>>   rspfile_content = $in
>>
>> But the problem is, that ar under windows doesn't like paths with  
>> one single '\'
>>
>> and on some UNIXs doesn't support response files at all.
> OK, my mistake.  The tool has to support response files.  So,  
> currently with nmake files we do something like this:
>
> Platform/Windows.cmake:
> # for nmake make long command lines are redirected to a file
> # with the following syntax, see Windows-bcc32.cmake for use
> IF(CMAKE_GENERATOR MATCHES "NMake")
>  SET(CMAKE_START_TEMP_FILE "@<<\n")
>  SET(CMAKE_END_TEMP_FILE "\n<<")
> ENDIF(CMAKE_GENERATOR MATCHES "NMake")
>
>
> Does MinGW32 ar use a different format response file than MS  
> link.exe? Seems like this should go in the Platform file.  Maybe we  
> don't use it on UNIX?
>
> -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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers



More information about the cmake-developers mailing list