|
|
@@ -1123,7 +1123,10 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(
|
|
|
this->WriteTargetVersionAttribute(fout, target);
|
|
|
linkOptions.OutputFlagMap(fout, 4);
|
|
|
fout << "\t\t\t\tAdditionalLibraryDirectories=\"";
|
|
|
- this->OutputLibraryDirectories(fout, cli.GetDirectories());
|
|
|
+ std::string const& linkDirsString = this->Makefile->GetSafeDefinition(
|
|
|
+ cmStrCat("CMAKE_", linkLanguage, "_STANDARD_LINK_DIRECTORIES"));
|
|
|
+ this->OutputLibraryDirectories(fout, cmList(linkDirsString),
|
|
|
+ cli.GetDirectories());
|
|
|
fout << "\"\n";
|
|
|
temp =
|
|
|
cmStrCat(target->GetPDBDirectory(configName), '/', targetNames.PDB);
|
|
|
@@ -1206,7 +1209,10 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(
|
|
|
this->WriteTargetVersionAttribute(fout, target);
|
|
|
linkOptions.OutputFlagMap(fout, 4);
|
|
|
fout << "\t\t\t\tAdditionalLibraryDirectories=\"";
|
|
|
- this->OutputLibraryDirectories(fout, cli.GetDirectories());
|
|
|
+ std::string const& linkDirsString = this->Makefile->GetSafeDefinition(
|
|
|
+ cmStrCat("CMAKE_", linkLanguage, "_STANDARD_LINK_DIRECTORIES"));
|
|
|
+ this->OutputLibraryDirectories(fout, cmList(linkDirsString),
|
|
|
+ cli.GetDirectories());
|
|
|
fout << "\"\n";
|
|
|
std::string path = this->ConvertToXMLOutputPathSingle(
|
|
|
target->GetPDBDirectory(configName));
|
|
|
@@ -1356,9 +1362,11 @@ void cmLocalVisualStudio7GeneratorInternals::OutputObjects(
|
|
|
}
|
|
|
|
|
|
void cmLocalVisualStudio7Generator::OutputLibraryDirectories(
|
|
|
- std::ostream& fout, std::vector<std::string> const& dirs)
|
|
|
+ std::ostream& fout, std::vector<std::string> const& stdlink,
|
|
|
+ std::vector<std::string> const& dirs)
|
|
|
{
|
|
|
const char* comma = "";
|
|
|
+
|
|
|
for (std::string dir : dirs) {
|
|
|
// Remove any trailing slash and skip empty paths.
|
|
|
if (dir.back() == '/') {
|
|
|
@@ -1384,6 +1392,12 @@ void cmLocalVisualStudio7Generator::OutputLibraryDirectories(
|
|
|
<< ',' << this->ConvertToXMLOutputPath(dir);
|
|
|
comma = ",";
|
|
|
}
|
|
|
+
|
|
|
+ // No special processing on toolchain-defined standard link directory paths
|
|
|
+ for (const auto& dir : stdlink) {
|
|
|
+ fout << comma << this->ConvertToXMLOutputPath(dir);
|
|
|
+ comma = ",";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void cmLocalVisualStudio7Generator::WriteVCProjFile(std::ostream& fout,
|