The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=15439 
====================================================================== 
Reported By:                Thomas Herz
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   15439
Category:                   CMake
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2015-03-10 16:54 EDT
Last Modified:              2015-03-10 16:54 EDT
====================================================================== 
Summary:                    ninja: no possibility to control type of path
delimiter and line break for linker response file
Description: 
I'm working with the Windriver VxWorks GNU tool chain on Windows host.
   Compiler Version: ccpentium.exe (Wind River VxWorks G++ DWARF-EH 4.1-131)
4.1.2
    --host=i686-mingw32
    --target=i586-wrs-vxworks

I adapted our existing 'unix makefile' project to ninja builder and I'm getting
following linker error:

   @CMakeFiles/myLib.rsp: No such file or directory

Finally, I figured out the reason. Actually, there are two of them:

1) The linker response file uses '\' for path delimiters, but this version of
GCC can't handle them, even if it is running on Windows host.
It only handles '/' or '\\' correctly. I managed to work around this problem by
setting 'CMAKE_COMPILER_IS_MINGW' to '1'. But, I guess, this may have some
unwanted side effects. Related bug report: 0015278

2) The linker response file uses Windows style line-breaks (CR-LF) to separate
individual object paths. This version of GCC can't handle them. It works fine
with Unix style (LF) or without any line breaks and whitespace instead.
The behaviour of ninja generator was changed with commit
a55d5ca48179d3be4d8406028c0992d45ada8882. I think, this patch is too 'global'. 
According to commit message 'Avoid LNK1170 linker error' this commit should
solve Microsoft compiler/linker problems. Furthermore LNK1170 is not listed
anymore for VS2010 and above.

Anyhow, for both issues, some kind of automagic with the possibility to change
the automagic decision with a particular cmake-variable would be the best
solution for such kind of problems.


====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2015-03-10 16:54 Thomas Herz    New Issue                                    
======================================================================

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to