diff options
-rw-r--r-- | Source/cmExportLibraryDependencies.cxx | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/cmExportLibraryDependencies.cxx b/Source/cmExportLibraryDependencies.cxx index 2e85967..e73280f 100644 --- a/Source/cmExportLibraryDependencies.cxx +++ b/Source/cmExportLibraryDependencies.cxx @@ -84,6 +84,8 @@ void cmExportLibraryDependenciesCommand::FinalPass() { cmLocalGenerator* gen = *i; cmTargets &tgts = gen->GetMakefile()->GetTargets(); + std::vector<std::string> depends; + const char *defType; for(cmTargets::const_iterator l = tgts.begin(); l != tgts.end(); ++l) { @@ -96,6 +98,20 @@ void cmExportLibraryDependenciesCommand::FinalPass() if(def) { fout << "SET(" << libDepName << " \"" << def << "\")\n"; + // now for each dependency, check for link type + cmSystemTools::ExpandListArgument(def, depends); + for(std::vector<std::string>::const_iterator d = depends.begin(); + d != depends.end(); ++d) + { + libDepName = *d; + libDepName += "_LINK_TYPE"; + defType = m_Makefile->GetDefinition(libDepName.c_str()); + libDepName = cmSystemTools::EscapeSpaces(libDepName.c_str()); + if(defType) + { + fout << "SET(" << libDepName << " \"" << defType << "\")\n"; + } + } } } } |