mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-10-07 04:02:23 +03:00
VS: Place CMAKE_<LANG>_STANDARD_LIBRARIES after other libraries
Make the VS generator consistent with the Ninja and Makefile generators that place the libraries listed in this variable after other libraries on the link command line. These system libraries never depend on the project libraries.
This commit is contained in:
1 parent
1d04d2ce36
commit
8ba6dc362d
1 file changed
+8
-8
@@ -2781,13 +2781,6 @@ bool cmVisualStudio10TargetGenerator::ComputeLinkOptions(
|
||||
flags += " ";
|
||||
flags += flagsConfig;
|
||||
}
|
||||
std::string standardLibsVar = "CMAKE_";
|
||||
standardLibsVar += linkLanguage;
|
||||
standardLibsVar += "_STANDARD_LIBRARIES";
|
||||
std::string const libs =
|
||||
this->Makefile->GetSafeDefinition(standardLibsVar.c_str());
|
||||
std::vector<std::string> libVec;
|
||||
cmSystemTools::ParseWindowsCommandLine(libs.c_str(), libVec);
|
||||
|
||||
cmComputeLinkInformation* pcli =
|
||||
this->GeneratorTarget->GetLinkInformation(config.c_str());
|
||||
@@ -2797,10 +2790,17 @@ bool cmVisualStudio10TargetGenerator::ComputeLinkOptions(
|
||||
this->Name.c_str());
|
||||
return false;
|
||||
}
|
||||
// add the libraries for the target to libs string
|
||||
cmComputeLinkInformation& cli = *pcli;
|
||||
|
||||
std::vector<std::string> libVec;
|
||||
std::vector<std::string> vsTargetVec;
|
||||
this->AddLibraries(cli, libVec, vsTargetVec);
|
||||
std::string standardLibsVar = "CMAKE_";
|
||||
standardLibsVar += linkLanguage;
|
||||
standardLibsVar += "_STANDARD_LIBRARIES";
|
||||
std::string const libs =
|
||||
this->Makefile->GetSafeDefinition(standardLibsVar.c_str());
|
||||
cmSystemTools::ParseWindowsCommandLine(libs.c_str(), libVec);
|
||||
linkOptions.AddFlag("AdditionalDependencies", libVec);
|
||||
|
||||
// Populate TargetsFileAndConfigsVec
|
||||
|
||||
Reference in new issue
Block a user