VS: Re-order logic to group MS-tool-specific options together
This commit is contained in:
parent
13e6d5595f
commit
808f4b1fa4
|
@ -1445,6 +1445,10 @@ void cmVisualStudio10TargetGenerator::WriteClOptions(
|
||||||
clOptions.OutputAdditionalOptions(*this->BuildFileStream, " ", "");
|
clOptions.OutputAdditionalOptions(*this->BuildFileStream, " ", "");
|
||||||
this->OutputIncludes(includes);
|
this->OutputIncludes(includes);
|
||||||
clOptions.OutputFlagMap(*this->BuildFileStream, " ");
|
clOptions.OutputFlagMap(*this->BuildFileStream, " ");
|
||||||
|
clOptions.OutputPreprocessorDefinitions(*this->BuildFileStream, " ",
|
||||||
|
"\n", "CXX");
|
||||||
|
|
||||||
|
this->WriteString("<ObjectFileName>$(IntDir)</ObjectFileName>\n", 3);
|
||||||
|
|
||||||
// If not in debug mode, write the DebugInformationFormat field
|
// If not in debug mode, write the DebugInformationFormat field
|
||||||
// without value so PDBs don't get generated uselessly.
|
// without value so PDBs don't get generated uselessly.
|
||||||
|
@ -1454,10 +1458,6 @@ void cmVisualStudio10TargetGenerator::WriteClOptions(
|
||||||
"</DebugInformationFormat>\n", 3);
|
"</DebugInformationFormat>\n", 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
clOptions.OutputPreprocessorDefinitions(*this->BuildFileStream, " ",
|
|
||||||
"\n", "CXX");
|
|
||||||
this->WriteString("<ObjectFileName>$(IntDir)</ObjectFileName>\n", 3);
|
|
||||||
|
|
||||||
// Specify the compiler program database file if configured.
|
// Specify the compiler program database file if configured.
|
||||||
std::string pdb = this->Target->GetCompilePDBPath(configName.c_str());
|
std::string pdb = this->Target->GetCompilePDBPath(configName.c_str());
|
||||||
if(!pdb.empty())
|
if(!pdb.empty())
|
||||||
|
@ -1600,14 +1600,6 @@ cmVisualStudio10TargetGenerator::ComputeLinkOptions(std::string const& config)
|
||||||
flags += " ";
|
flags += " ";
|
||||||
flags += flagsConfig;
|
flags += flagsConfig;
|
||||||
}
|
}
|
||||||
if ( this->Target->GetPropertyAsBool("WIN32_EXECUTABLE") )
|
|
||||||
{
|
|
||||||
linkOptions.AddFlag("SubSystem", "Windows");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
linkOptions.AddFlag("SubSystem", "Console");
|
|
||||||
}
|
|
||||||
std::string standardLibsVar = "CMAKE_";
|
std::string standardLibsVar = "CMAKE_";
|
||||||
standardLibsVar += linkLanguage;
|
standardLibsVar += linkLanguage;
|
||||||
standardLibsVar += "_STANDARD_LIBRARIES";
|
standardLibsVar += "_STANDARD_LIBRARIES";
|
||||||
|
@ -1661,22 +1653,7 @@ cmVisualStudio10TargetGenerator::ComputeLinkOptions(std::string const& config)
|
||||||
linkDirs += "%(AdditionalLibraryDirectories)";
|
linkDirs += "%(AdditionalLibraryDirectories)";
|
||||||
linkOptions.AddFlag("AdditionalLibraryDirectories", linkDirs.c_str());
|
linkOptions.AddFlag("AdditionalLibraryDirectories", linkDirs.c_str());
|
||||||
linkOptions.AddFlag("AdditionalDependencies", libs.c_str());
|
linkOptions.AddFlag("AdditionalDependencies", libs.c_str());
|
||||||
linkOptions.AddFlag("Version", "");
|
|
||||||
|
|
||||||
if(const char* stackVal =
|
|
||||||
this->Makefile->GetDefinition("CMAKE_"+linkLanguage+"_STACK_SIZE"))
|
|
||||||
{
|
|
||||||
linkOptions.AddFlag("StackReserveSize", stackVal);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(linkOptions.IsDebug() || flags.find("/debug") != flags.npos)
|
|
||||||
{
|
|
||||||
linkOptions.AddFlag("GenerateDebugInformation", "true");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
linkOptions.AddFlag("GenerateDebugInformation", "false");
|
|
||||||
}
|
|
||||||
std::string targetName;
|
std::string targetName;
|
||||||
std::string targetNameSO;
|
std::string targetNameSO;
|
||||||
std::string targetNameFull;
|
std::string targetNameFull;
|
||||||
|
@ -1695,6 +1672,31 @@ cmVisualStudio10TargetGenerator::ComputeLinkOptions(std::string const& config)
|
||||||
config.c_str());
|
config.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
linkOptions.AddFlag("Version", "");
|
||||||
|
|
||||||
|
if ( this->Target->GetPropertyAsBool("WIN32_EXECUTABLE") )
|
||||||
|
{
|
||||||
|
linkOptions.AddFlag("SubSystem", "Windows");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
linkOptions.AddFlag("SubSystem", "Console");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const char* stackVal =
|
||||||
|
this->Makefile->GetDefinition("CMAKE_"+linkLanguage+"_STACK_SIZE"))
|
||||||
|
{
|
||||||
|
linkOptions.AddFlag("StackReserveSize", stackVal);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(linkOptions.IsDebug() || flags.find("/debug") != flags.npos)
|
||||||
|
{
|
||||||
|
linkOptions.AddFlag("GenerateDebugInformation", "true");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
linkOptions.AddFlag("GenerateDebugInformation", "false");
|
||||||
|
}
|
||||||
std::string pdb = this->Target->GetPDBDirectory(config.c_str());
|
std::string pdb = this->Target->GetPDBDirectory(config.c_str());
|
||||||
pdb += "/";
|
pdb += "/";
|
||||||
pdb += targetNamePDB;
|
pdb += targetNamePDB;
|
||||||
|
|
Loading…
Reference in New Issue