<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Calibri" size="2"><span style="font-size:11pt;">
<div>Hi Brad,</div>
<div>Is the below issue solved in latest release 3.11.0 ? </div>
<div>Could you please confirm?</div>
<div> </div>
<div> </div>
<div> </div>
<div>Grüße</div>
<div>Lenin</div>
<div> </div>
<div>-----Original Message-----<br>

From: Jayakumar, Lenindarbi <br>

Sent: Freitag, 19. Januar 2018 15:26<br>

To: 'Brad King' <brad.king@kitware.com>; cmake-developers@cmake.org<br>

Subject: RE: [cmake-developers] CMAKE :: mingw make files with response file for includes</div>
<div> </div>
<div>Thanks for the reply.</div>
<div> </div>
<div>It is not compiler and linker.</div>
<div>I have to use response file for both includes and objects.</div>
<div>Tasking compiler expects -f as Response file link flag for both. But cmake produces command line for objects using -f and includes using @.</div>
<div> </div>
<div>I prefer to get it fixed in generator. Unfortunately I don’t have enough time and experience.</div>
<div>Perhaps an cmake expert could confirm and fix it.</div>
<div> </div>
<div>Possible cause:</div>
<div>The @ symbol is hardcoded in “cmMakefileTargetGenerator::AddIncludeFlags” function in file ../Source/cmMakefileTargetGenerator.cxx</div>
<div> </div>
<div>  if (useResponseFile) {</div>
<div>    std::string name = "includes_";</div>
<div>    name += lang;</div>
<div>    name += ".rsp";</div>
<div>    std::string arg = "@" +</div>
<div>      this->CreateResponseFile(name.c_str(), includeFlags,</div>
<div>                               this->FlagFileDepends[lang]);</div>
<div>    this->LocalGenerator->AppendFlags(flags, arg);</div>
<div>  }</div>
<div> </div>
<div>However, the implementation should be like in “cmMakefileTargetGenerator::CreateObjectLists” function.</div>
<div> </div>
<div>    // Lookup the response file reference flag.</div>
<div>    std::string responseFlagVar = "CMAKE_";</div>
<div>    responseFlagVar +=</div>
<div>      this->GeneratorTarget->GetLinkerLanguage(this->ConfigName);</div>
<div>    responseFlagVar += "_RESPONSE_FILE_LINK_FLAG";</div>
<div>    const char* responseFlag = this->Makefile->GetDefinition(responseFlagVar);</div>
<div>    if (!responseFlag) {</div>
<div>      responseFlag = "@";</div>
<div>    }</div>
<div> </div>
<div>Thanks,</div>
<div>Lenin</div>
<div> </div>
<div>-----Original Message-----</div>
<div>From: Brad King [<a href="mailto:brad.king@kitware.com">mailto:brad.king@kitware.com</a>]</div>
<div>Sent: Freitag, 19. Januar 2018 15:01</div>
<div>To: Jayakumar, Lenindarbi <<a href="mailto:Lenindarbi.Jayakumar@magna.com">Lenindarbi.Jayakumar@magna.com</a>>; <a href="mailto:cmake-developers@cmake.org">cmake-developers@cmake.org</a></div>
<div>Subject: Re: [cmake-developers] CMAKE :: mingw make files with response file for includes</div>
<div> </div>
<div>On 01/17/2018 03:52 AM, Jayakumar, Lenindarbi wrote:</div>
<div>> Response file link flag “CMAKE_C_RESPONSE_FILE_LINK_FLAG” is not </div>
<div>> customizable for include paths.</div>
<div>> The @ symbol is hardcoded in “cmMakefileTargetGenerator::AddIncludeFlags”</div>
<div> </div>
<div>In case the compiler and link driver want different response file flags, one could add a separate "CMAKE_<LANG>_RESPONSE_FILE_COMPILE_FLAG" variable to use for include flags.  See</div>
<div> </div>
<div>  <a href="https://gitlab.kitware.com/cmake/cmake/blob/master/CONTRIBUTING.rst">https://gitlab.kitware.com/cmake/cmake/blob/master/CONTRIBUTING.rst</a></div>
<div> </div>
<div>for contribution instructions if you'd like to work on it.</div>
<div> </div>
<div>Thanks,</div>
<div>-Brad</div>
<div> </div>
</span></font>
</body>
</html>