[Cmake-commits] CMake branch, next, updated. v2.8.10.2-1631-gc60a03c

Brad King brad.king at kitware.com
Wed Jan 16 09:59:14 EST 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  c60a03caad9b6991fc33bb248063a0761cdf970b (commit)
       via  e3a45942869bdb65a913ab4faaf2a7a2ddff5e6d (commit)
      from  867ae688ca39a876083f3c5b2880e086208112d6 (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=c60a03caad9b6991fc33bb248063a0761cdf970b
commit c60a03caad9b6991fc33bb248063a0761cdf970b
Merge: 867ae68 e3a4594
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Jan 16 09:59:10 2013 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Jan 16 09:59:10 2013 -0500

    Merge topic 'ExternalProject-DEPENDS-target' into next
    
    e3a4594 ExternalProject: Allow DEPENDS on normal targets (#13849)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e3a45942869bdb65a913ab4faaf2a7a2ddff5e6d
commit e3a45942869bdb65a913ab4faaf2a7a2ddff5e6d
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Jan 16 09:10:48 2013 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Jan 16 09:13:42 2013 -0500

    ExternalProject: Allow DEPENDS on normal targets (#13849)
    
    The ExternalProject_Add DEPENDS option adds two types of dependencies.
    It adds a target-level build order dependency between the external
    project target and the named targets.  It also adds a file-level
    dependency on the "done" stamp file of the named external project
    targets.  Targets not created by ExternalProject_Add have no such stamp
    file and no _EP_STAMP_DIR property.  Prior to commit d14c0243 (Refactor
    repeated code into function, 2012-04-26) we unconditionally accepted an
    empty stamp dir and generated a dependency on a non-existent file.
    After that commit we generate an error that no stamp dir is set.
    
    Skip the file-level dependency when the named dependency is not an
    external project target in order to allow this use case.  Teach the
    ExternalProject test to cover the case.

diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index 2355dac..ed7fd7c 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -1558,8 +1558,11 @@ function(_ep_add_configure_command name)
   set(file_deps)
   get_property(deps TARGET ${name} PROPERTY _EP_DEPENDS)
   foreach(dep IN LISTS deps)
-    _ep_get_step_stampfile(${dep} "done" done_stamp_file)
-    list(APPEND file_deps ${done_stamp_file})
+    get_property(is_ep TARGET ${dep} PROPERTY _EP_IS_EXTERNAL_PROJECT)
+    if(is_ep)
+      _ep_get_step_stampfile(${dep} "done" done_stamp_file)
+      list(APPEND file_deps ${done_stamp_file})
+    endif()
   endforeach()
 
   get_property(cmd_set TARGET ${name} PROPERTY _EP_CONFIGURE_COMMAND SET)
diff --git a/Tests/ExternalProject/CMakeLists.txt b/Tests/ExternalProject/CMakeLists.txt
index e24a979..37efc77 100644
--- a/Tests/ExternalProject/CMakeLists.txt
+++ b/Tests/ExternalProject/CMakeLists.txt
@@ -50,6 +50,7 @@ if(NOT DEFINED can_build_tutorial_step5)
   endif()
 endif()
 
+add_custom_target(NonExternalProjectTarget)
 
 # Empty projects that test all the known ExternalProject_Add argument key words:
 #
@@ -94,7 +95,7 @@ ExternalProject_Add(${proj}
   CVS_REPOSITORY ""
   CVS_MODULE ""
   CVS_TAG ""
-  DEPENDS "MinimalNoOpProject"
+  DEPENDS "MinimalNoOpProject" NonExternalProjectTarget
   DOWNLOAD_COMMAND ""
   INSTALL_COMMAND ""
   PATCH_COMMAND ""

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

Summary of changes:
 Modules/ExternalProject.cmake        |    7 +++++--
 Tests/ExternalProject/CMakeLists.txt |    3 ++-
 2 files changed, 7 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list