summaryrefslogtreecommitdiffstats
path: root/Source/cmExportBuildFileGenerator.cxx
diff options
context:
space:
mode:
authorAlex Neundorf <neundorf@kde.org>2012-09-15 20:38:30 (GMT)
committerBrad King <brad.king@kitware.com>2012-09-28 13:21:42 (GMT)
commit8b5f448ba628dc474d3cd22d67db65551acc0846 (patch)
tree5fa8506d5d98de07795d3e97efd891a8a0af8c1a /Source/cmExportBuildFileGenerator.cxx
parent87f4c01910754199bcdcbc9d564de13d36ba2502 (diff)
downloadCMake-8b5f448ba628dc474d3cd22d67db65551acc0846.zip
CMake-8b5f448ba628dc474d3cd22d67db65551acc0846.tar.gz
CMake-8b5f448ba628dc474d3cd22d67db65551acc0846.tar.bz2
exports: first try at error handling if a target is missing
Now, if an imported target depends on a library which must come from some other export set, cmake generates a check which errors out if that target does not exist. I guess instead of completely erroring out it would be better to only make the find_package() fail. Alex
Diffstat (limited to 'Source/cmExportBuildFileGenerator.cxx')
-rw-r--r--Source/cmExportBuildFileGenerator.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/cmExportBuildFileGenerator.cxx b/Source/cmExportBuildFileGenerator.cxx
index fd5a432..22ae0e4 100644
--- a/Source/cmExportBuildFileGenerator.cxx
+++ b/Source/cmExportBuildFileGenerator.cxx
@@ -72,8 +72,9 @@ cmExportBuildFileGenerator
if(!properties.empty())
{
// Get the rest of the target details.
+ std::vector<std::string> missingTargets;
this->SetImportDetailProperties(config, suffix,
- target, properties);
+ target, properties, missingTargets);
// TOOD: PUBLIC_HEADER_LOCATION
// This should wait until the build feature propagation stuff
@@ -82,6 +83,7 @@ cmExportBuildFileGenerator
// properties);
// Generate code in the export file.
+ this->GenerateMissingTargetsCheckCode(os, missingTargets);
this->GenerateImportPropertyCode(os, config, target, properties);
}
}