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