[Cmake-commits] CMake branch, next, updated. v2.8.10.2-2692-gb9762ee

Brad King brad.king at kitware.com
Fri Mar 29 15:04:02 EDT 2013


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  b9762ee25023eb526d916c422c0e04ade666c476 (commit)
       via  de13d68d11b9f8f08c67b8cbcdd0f957d5bae6e1 (commit)
      from  acf53aede78b41dd1660e1159e28a5313bd9bead (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=b9762ee25023eb526d916c422c0e04ade666c476
commit b9762ee25023eb526d916c422c0e04ade666c476
Merge: acf53ae de13d68
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Mar 29 15:04:00 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Mar 29 15:04:00 2013 -0400

    Merge topic 'clarify-add_dependencies-error' into next
    
    de13d68 add_dependencies: Distinguish target v. file dependencies in error (#14050)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=de13d68d11b9f8f08c67b8cbcdd0f957d5bae6e1
commit de13d68d11b9f8f08c67b8cbcdd0f957d5bae6e1
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Mar 29 14:53:36 2013 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Mar 29 15:00:33 2013 -0400

    add_dependencies: Distinguish target v. file dependencies in error (#14050)
    
    When called with a non-existent LHS target name the user may be trying
    to add file-level dependencies.  Clarify the error message to explain
    the difference between target-level and file-level dependencies.  Point
    the reader at the commands and options needed for the latter.

diff --git a/Source/cmAddDependenciesCommand.cxx b/Source/cmAddDependenciesCommand.cxx
index a77140d..04a304e 100644
--- a/Source/cmAddDependenciesCommand.cxx
+++ b/Source/cmAddDependenciesCommand.cxx
@@ -35,10 +35,14 @@ bool cmAddDependenciesCommand
     }
   else
     {
-    std::string error = "Adding dependency to non-existent target: ";
-    error += target_name;
-    this->SetError(error.c_str());
-    return false;
+    cmOStringStream e;
+    e << "Cannot add target-level dependencies to non-existent target \""
+      << target_name << "\".\n"
+      << "The add_dependencies works for top-level logical targets created "
+      << "by the add_executable, add_library, or add_custom_target commands.  "
+      << "If you want to add file-level dependencies see the DEPENDS option "
+      << "of the add_custom_target and add_custom_command commands.";
+    this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
     }
 
   return true;
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index a3c9605..402c8a9 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -68,6 +68,7 @@ if(NOT WIN32)
 endif()
 add_RunCMake_test(CompatibleInterface)
 
+add_RunCMake_test(add_dependencies)
 add_RunCMake_test(build_command)
 add_RunCMake_test(find_package)
 add_RunCMake_test(include)
diff --git a/Tests/RunCMake/add_dependencies/CMakeLists.txt b/Tests/RunCMake/add_dependencies/CMakeLists.txt
new file mode 100644
index 0000000..e8db6b0
--- /dev/null
+++ b/Tests/RunCMake/add_dependencies/CMakeLists.txt
@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 2.8)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/add_dependencies/NoTarget-result.txt b/Tests/RunCMake/add_dependencies/NoTarget-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/add_dependencies/NoTarget-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/add_dependencies/NoTarget-stderr.txt b/Tests/RunCMake/add_dependencies/NoTarget-stderr.txt
new file mode 100644
index 0000000..6af2707
--- /dev/null
+++ b/Tests/RunCMake/add_dependencies/NoTarget-stderr.txt
@@ -0,0 +1,9 @@
+CMake Error at NoTarget.cmake:1 \(add_dependencies\):
+  Cannot add target-level dependencies to non-existent target "foo".
+
+  The add_dependencies works for top-level logical targets created by the
+  add_executable, add_library, or add_custom_target commands.  If you want to
+  add file-level dependencies see the DEPENDS option of the add_custom_target
+  and add_custom_command commands.
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/add_dependencies/NoTarget.cmake b/Tests/RunCMake/add_dependencies/NoTarget.cmake
new file mode 100644
index 0000000..9037694
--- /dev/null
+++ b/Tests/RunCMake/add_dependencies/NoTarget.cmake
@@ -0,0 +1 @@
+add_dependencies(foo bar)
diff --git a/Tests/RunCMake/add_dependencies/RunCMakeTest.cmake b/Tests/RunCMake/add_dependencies/RunCMakeTest.cmake
new file mode 100644
index 0000000..30b7e67
--- /dev/null
+++ b/Tests/RunCMake/add_dependencies/RunCMakeTest.cmake
@@ -0,0 +1,3 @@
+include(RunCMake)
+
+run_cmake(NoTarget)

-----------------------------------------------------------------------

Summary of changes:
 Source/cmAddDependenciesCommand.cxx                |   12 ++++++++----
 Tests/RunCMake/CMakeLists.txt                      |    1 +
 .../{CMP0004 => add_dependencies}/CMakeLists.txt   |    0
 .../NoTarget-result.txt}                           |    0
 .../RunCMake/add_dependencies/NoTarget-stderr.txt  |    9 +++++++++
 Tests/RunCMake/add_dependencies/NoTarget.cmake     |    1 +
 Tests/RunCMake/add_dependencies/RunCMakeTest.cmake |    3 +++
 7 files changed, 22 insertions(+), 4 deletions(-)
 copy Tests/RunCMake/{CMP0004 => add_dependencies}/CMakeLists.txt (100%)
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => add_dependencies/NoTarget-result.txt} (100%)
 create mode 100644 Tests/RunCMake/add_dependencies/NoTarget-stderr.txt
 create mode 100644 Tests/RunCMake/add_dependencies/NoTarget.cmake
 create mode 100644 Tests/RunCMake/add_dependencies/RunCMakeTest.cmake


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list