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  9cb0ac12b1610ade11259d1787342319a3f9b375 (commit)
       via  783c375766b1e5656dd34dd99281fceb7ed7aab2 (commit)
      from  47aeac35a7f4602efd8ce2c8d99031c4d99457e9 (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=9cb0ac12b1610ade11259d1787342319a3f9b375
commit 9cb0ac12b1610ade11259d1787342319a3f9b375
Merge: 47aeac3 783c375
Author:     Brad King <[email protected]>
AuthorDate: Wed Jul 22 11:43:39 2015 -0400
Commit:     CMake Topic Stage <[email protected]>
CommitDate: Wed Jul 22 11:43:39 2015 -0400

    Merge topic 'test-OBJECT_DEPENDS' into next
    
    783c3757 Tests: Extend BuildDepends test to cover OBJECT_DEPENDS


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=783c375766b1e5656dd34dd99281fceb7ed7aab2
commit 783c375766b1e5656dd34dd99281fceb7ed7aab2
Author:     Brad King <[email protected]>
AuthorDate: Wed Jul 22 11:15:20 2015 -0400
Commit:     Brad King <[email protected]>
CommitDate: Wed Jul 22 11:37:47 2015 -0400

    Tests: Extend BuildDepends test to cover OBJECT_DEPENDS
    
    The actual file timestamp dependency is known to not work on
    Visual Studio or Xcode generators.  Tolerate such failure for
    these generators (Tests/CustomCommand already covers using
    OBJECT_DEPENDS to pull a custom command into a target, and
    that still works with these generators).

diff --git a/Tests/BuildDepends/CMakeLists.txt 
b/Tests/BuildDepends/CMakeLists.txt
index 2be59b6..7b7353c 100644
--- a/Tests/BuildDepends/CMakeLists.txt
+++ b/Tests/BuildDepends/CMakeLists.txt
@@ -69,6 +69,9 @@ file(WRITE 
${BuildDepends_BINARY_DIR}/Project/link_depends_no_shared_exe.h
   "#define link_depends_no_shared_exe_value 0\n")
 set(link_depends_no_shared_check_txt 
${BuildDepends_BINARY_DIR}/Project/link_depends_no_shared_check.txt)
 
+file(WRITE ${BuildDepends_BINARY_DIR}/Project/object_depends.txt "0\n")
+set(object_depends_check_txt 
${BuildDepends_BINARY_DIR}/Project/object_depends_check.txt)
+
 file(WRITE ${BuildDepends_BINARY_DIR}/Project/external.in "external 
original\n")
 file(WRITE ${BuildDepends_BINARY_DIR}/Project/multi1-in.txt "multi1-in 
original\n")
 file(WRITE ${BuildDepends_BINARY_DIR}/Project/multi2-stamp.txt "multi2-stamp 
original\n")
@@ -246,6 +249,8 @@ file(WRITE 
${BuildDepends_BINARY_DIR}/Project/zot_macro_tgt.hxx
 file(WRITE ${BuildDepends_BINARY_DIR}/Project/link_depends_no_shared_lib.h
   "#define link_depends_no_shared_lib_value 0\n")
 
+file(WRITE ${BuildDepends_BINARY_DIR}/Project/object_depends.txt "1\n")
+
 if(TEST_LINK_DEPENDS)
   file(WRITE ${TEST_LINK_DEPENDS} "2")
 endif()
@@ -359,6 +364,20 @@ else()
     "Targets link_depends_no_shared_lib and link_depends_no_shared_exe not 
both built.")
 endif()
 
+if(EXISTS "${object_depends_check_txt}")
+  file(STRINGS "${object_depends_check_txt}" object_depends_check LIMIT_COUNT 
1)
+  if("${object_depends_check}" STREQUAL "1")
+    message(STATUS "object_depends exe is newer than object_depends.txt as 
expected.")
+  elseif(CMAKE_GENERATOR MATCHES "Visual Studio|Xcode")
+    message(STATUS "Known limitation: OBJECT_DEPENDS does not work on 
${CMAKE_GENERATOR}")
+  else()
+    message(SEND_ERROR "Project did not rebuild properly: object_depends exe 
is not newer than object_depends.txt.")
+  endif()
+else()
+  message(SEND_ERROR "Project did not rebuild properly.  "
+    "object_depends exe and object_depends.txt are not both present.")
+endif()
+
 if(EXISTS ${BuildDepends_BINARY_DIR}/Project/external.out)
   file(STRINGS ${BuildDepends_BINARY_DIR}/Project/external.out external_out)
   if("${external_out}" STREQUAL "external changed")
diff --git a/Tests/BuildDepends/Project/CMakeLists.txt 
b/Tests/BuildDepends/Project/CMakeLists.txt
index 0db39c5..3aa57fc 100644
--- a/Tests/BuildDepends/Project/CMakeLists.txt
+++ b/Tests/BuildDepends/Project/CMakeLists.txt
@@ -182,3 +182,15 @@ if(TEST_MULTI3)
   set_property(SOURCE multi3-real.txt multi3-dummy.txt PROPERTY SYMBOLIC 1)
   add_custom_target(multi3 ALL DEPENDS multi3-real.txt)
 endif()
+
+add_executable(object_depends object_depends.cxx)
+set_property(SOURCE object_depends.cxx PROPERTY OBJECT_DEPENDS
+  ${CMAKE_CURRENT_BINARY_DIR}/object_depends.txt)
+add_custom_target(object_depends_check ALL
+  COMMAND ${CMAKE_COMMAND}
+   -Dexe=$<TARGET_FILE:object_depends>
+   -Dout=${CMAKE_CURRENT_BINARY_DIR}/object_depends_check.txt
+   -Dtxt=${CMAKE_CURRENT_BINARY_DIR}/object_depends.txt
+   -P ${CMAKE_CURRENT_SOURCE_DIR}/object_depends_check.cmake
+  )
+add_dependencies(object_depends_check object_depends)
diff --git a/Tests/BuildDepends/Project/object_depends.cxx 
b/Tests/BuildDepends/Project/object_depends.cxx
new file mode 100644
index 0000000..76e8197
--- /dev/null
+++ b/Tests/BuildDepends/Project/object_depends.cxx
@@ -0,0 +1 @@
+int main() { return 0; }
diff --git a/Tests/BuildDepends/Project/object_depends_check.cmake 
b/Tests/BuildDepends/Project/object_depends_check.cmake
new file mode 100644
index 0000000..e009892
--- /dev/null
+++ b/Tests/BuildDepends/Project/object_depends_check.cmake
@@ -0,0 +1,7 @@
+if(NOT EXISTS "${txt}" OR NOT EXISTS "${exe}")
+  file(REMOVE "${out}")
+elseif("${exe}" IS_NEWER_THAN "${txt}")
+  file(WRITE "${out}" "1\n")
+else()
+  file(WRITE "${out}" "0\n")
+endif()

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

Summary of changes:
 Tests/BuildDepends/CMakeLists.txt                   |   19 +++++++++++++++++++
 Tests/BuildDepends/Project/CMakeLists.txt           |   12 ++++++++++++
 .../Project/object_depends.cxx}                     |    0
 ...hared_check.cmake => object_depends_check.cmake} |    4 ++--
 4 files changed, 33 insertions(+), 2 deletions(-)
 copy Tests/{FindPackageTest/Exporter/dummy.c => 
BuildDepends/Project/object_depends.cxx} (100%)
 copy Tests/BuildDepends/Project/{link_depends_no_shared_check.cmake => 
object_depends_check.cmake} (52%)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
[email protected]
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to