mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
VS: Allow /Fa to set AssemblerListingLocation (#14153)
Generate the default AssemblerListingLocation through the flag map so that it can be overridden by a user /Fa flag. Also teach the VS 7-9 generators to map /Fa to AssemblerListingLocation. While at it, fix the AssemblerListingLocation default value to have a trailing slash after the configuration name. This ensures it will be treated as a directory and not a file name.
This commit is contained in:
@@ -1218,6 +1218,8 @@ bool cmVisualStudio10TargetGenerator::ComputeClOptions(
|
||||
std::string defineFlags = this->Target->GetMakefile()->GetDefineFlags();
|
||||
clOptions.FixExceptionHandlingDefault();
|
||||
clOptions.AddFlag("PrecompiledHeader", "NotUsing");
|
||||
std::string asmLocation = configName + "/";
|
||||
clOptions.AddFlag("AssemblerListingLocation", asmLocation.c_str());
|
||||
clOptions.Parse(flags.c_str());
|
||||
clOptions.Parse(defineFlags.c_str());
|
||||
clOptions.AddDefines(this->Target->GetCompileDefinitions(
|
||||
@@ -1260,9 +1262,6 @@ void cmVisualStudio10TargetGenerator::WriteClOptions(
|
||||
|
||||
clOptions.OutputPreprocessorDefinitions(*this->BuildFileStream, " ",
|
||||
"\n", "CXX");
|
||||
this->WriteString("<AssemblerListingLocation>", 3);
|
||||
*this->BuildFileStream << configName
|
||||
<< "</AssemblerListingLocation>\n";
|
||||
this->WriteString("<ObjectFileName>$(IntDir)</ObjectFileName>\n", 3);
|
||||
this->WriteString("</ClCompile>\n", 2);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user