[cmake-developers] [CMake 0014860]: cmake and ninja on windows generate a command with an rsp file that's not understood by the link command

Mantis Bug Tracker mantis at public.kitware.com
Wed Apr 2 10:05:44 EDT 2014


The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=14860 
====================================================================== 
Reported By:                kurt.dupont
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   14860
Category:                   CMake
Reproducibility:            have not tried
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2014-04-02 10:05 EDT
Last Modified:              2014-04-02 10:05 EDT
====================================================================== 
Summary:                    cmake and ninja on windows generate a command with
an rsp file that's not understood by the link command
Description: 
Following lines are generated in rules.ninja
#############################################
# Rule for linking ASM static library.

rule ASM_STATIC_LIBRARY_LINKER
  command = cmd.exe /c $PRE_LINK && armar -r $out $LINK_FLAGS $in && $POST_BUILD
  description = Linking ASM static library $out


#############################################
# Rule for linking ASM static library.

rule ASM_STATIC_LIBRARY_LINKER_RSP_FILE
  command = cmd.exe /c $PRE_LINK && armar -r $out $LINK_FLAGS @$RSP_FILE &&
$POST_BUILD
  description = Linking ASM static library $out
  rspfile = $RSP_FILE
  rspfile_content = $in_newline  $LINK_PATH $LINK_LIBRARIES

The armar command takes --via=${RSP_FILE} as a redirection mechanism

The armar command is defined in my toolchain file as :

set(CMAKE_${lang}_CREATE_STATIC_LIBRARY "<CMAKE_AR> -r <TARGET> <LINK_FLAGS>
<OBJECTS>")

I found no documentation on the <OBJECTS> token on when this is defined, how
this can be used. Is there any way that i can detect/force the use of an rsp
file AND influence the string used (@) to indicate the redirection to a file
(--via=)?



Additional Information: 
The actual command issued
 cmd.exe /c cd . && armar -r
third-party\threadx\src\threadx_ptp_arm_cortexr4.lib 
@CMakeFiles/threadx_ptp.rsp && cd .
Error: L6833E: File '@CMakeFiles/threadx_ptp.rsp' does not exist
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2014-04-02 10:05 kurt.dupont    New Issue                                    
======================================================================



More information about the cmake-developers mailing list