This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, next has been updated via 26d2380d3a1090170b4607217db7558576983e5d (commit) via 11d0c662069e3fd74cb908f714274eeb05f1a14d (commit) from c46387bcc87cf55718e30f2013b5164cb8858fe2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=26d2380d3a1090170b4607217db7558576983e5d commit 26d2380d3a1090170b4607217db7558576983e5d Merge: c46387b 11d0c66 Author: Alexander Neundorf <neund...@kde.org> AuthorDate: Wed Feb 20 14:09:59 2013 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Wed Feb 20 14:09:59 2013 -0500 Merge topic 'ExportFileGenerator_GenerateNicerErrorCheckingCode' into next 11d0c66 export files: rewrite the code for checking required targets http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=11d0c662069e3fd74cb908f714274eeb05f1a14d commit 11d0c662069e3fd74cb908f714274eeb05f1a14d Author: Alex Neundorf <neund...@kde.org> AuthorDate: Mon Feb 11 22:18:48 2013 +0100 Commit: Alex Neundorf <neund...@kde.org> CommitDate: Wed Feb 20 20:09:45 2013 +0100 export files: rewrite the code for checking required targets Instead of generating a whole bunch of repeated if-statements now a foreach()-loop is generated in the targets-file. Also now a comment is inserted in the generated file if no targets from other export sets are used, so if somebody looks at the file he can see whether the information about missing imported targets has been generated or not. Alex diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx index ef4ea38..e55f168 100644 --- a/Source/cmExportFileGenerator.cxx +++ b/Source/cmExportFileGenerator.cxx @@ -754,29 +754,46 @@ void cmExportFileGenerator::GenerateMissingTargetsCheckCode(std::ostream& os, { if (missingTargets.empty()) { + os << "# This file does not depend on other imported targets which have\n" + "# been exported from the same project but in a separate " + "export set.\n\n"; return; } os << "# Make sure the targets which have been exported in some other \n" - "# export set exist.\n"; + "# export set exist.\n" + "unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets)\n" + "foreach(_target "; std::set<std::string> emitted; for(unsigned int i=0; i<missingTargets.size(); ++i) { if (emitted.insert(missingTargets[i]).second) { - os << "if(NOT TARGET \"" << missingTargets[i] << "\" )\n" - << " if(CMAKE_FIND_PACKAGE_NAME)\n" - << " set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)\n" - << " set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE " - << "\"Required imported target \\\"" << missingTargets[i] - << "\\\" not found ! \")\n" - << " else()\n" - << " message(FATAL_ERROR \"Required imported target \\\"" - << missingTargets[i] << "\\\" not found ! \")\n" - << " endif()\n" - << "endif()\n"; + os << "\"" << missingTargets[i] << "\" "; } } - os << "\n"; + os << ")\n" + " if(NOT TARGET \"${_target}\" )\n" + " set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets \"" + "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}\")" + "\n" + " endif()\n" + "endforeach()\n" + "\n" + "if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets)\n" + " if(CMAKE_FIND_PACKAGE_NAME)\n" + " set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)\n" + " set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE " + "\"The following imported targets are " + "referenced, but are missing: " + "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}\")\n" + " else()\n" + " message(FATAL_ERROR \"The following imported targets are " + "referenced, but are missing: " + "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}\")\n" + " endif()\n" + "endif()\n" + "unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets)\n" + "\n"; } ----------------------------------------------------------------------- Summary of changes: Source/cmExportFileGenerator.cxx | 43 ++++++++++++++++++++++++++----------- 1 files changed, 30 insertions(+), 13 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits