[Cmake-commits] CMake branch, next, updated. v3.3.1-2980-ga6e7eaf

Brad King brad.king at kitware.com
Wed Sep 16 10:58:16 EDT 2015


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  a6e7eaf75d90623bc0c76f08fcadced2beb8d644 (commit)
       via  b483bb3091e1cd8ddb532162179519de1a975fa0 (commit)
       via  e4b783275a79ba8d448af6a9dc4e1151cfc92661 (commit)
      from  7dc04f4f901934e28bba3acf45931d53458b469e (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=a6e7eaf75d90623bc0c76f08fcadced2beb8d644
commit a6e7eaf75d90623bc0c76f08fcadced2beb8d644
Merge: 7dc04f4 b483bb3
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Sep 16 10:58:14 2015 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Sep 16 10:58:14 2015 -0400

    Merge topic 'test-RunCMake-BuildDepends' into next
    
    b483bb30 Tests: Add RunCMake.BuildDepends test
    e4b78327 Tests: Teach RunCMake infrastructure to use custom check.cmake file


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b483bb3091e1cd8ddb532162179519de1a975fa0
commit b483bb3091e1cd8ddb532162179519de1a975fa0
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Sep 16 10:09:07 2015 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Sep 16 10:11:26 2015 -0400

    Tests: Add RunCMake.BuildDepends test
    
    This will allow more granular checks than the main BuildDepends test.
    Start with a simple single-source C program.

diff --git a/Tests/RunCMake/BuildDepends/C-Exe.cmake b/Tests/RunCMake/BuildDepends/C-Exe.cmake
new file mode 100644
index 0000000..5057ca9
--- /dev/null
+++ b/Tests/RunCMake/BuildDepends/C-Exe.cmake
@@ -0,0 +1,12 @@
+enable_language(C)
+
+add_executable(main ${CMAKE_CURRENT_BINARY_DIR}/main.c)
+
+file(GENERATE OUTPUT check-$<LOWER_CASE:$<CONFIG>>.cmake CONTENT "
+set(check_pairs
+  \"$<TARGET_FILE:main>|${CMAKE_CURRENT_BINARY_DIR}/main.c\"
+  )
+set(check_exes
+  \"$<TARGET_FILE:main>\"
+  )
+")
diff --git a/Tests/RunCMake/BuildDepends/C-Exe.step1.cmake b/Tests/RunCMake/BuildDepends/C-Exe.step1.cmake
new file mode 100644
index 0000000..08e2949
--- /dev/null
+++ b/Tests/RunCMake/BuildDepends/C-Exe.step1.cmake
@@ -0,0 +1,3 @@
+file(WRITE "${RunCMake_TEST_BINARY_DIR}/main.c" [[
+int main(void) { return 1; }
+]])
diff --git a/Tests/RunCMake/BuildDepends/C-Exe.step2.cmake b/Tests/RunCMake/BuildDepends/C-Exe.step2.cmake
new file mode 100644
index 0000000..ee4530c
--- /dev/null
+++ b/Tests/RunCMake/BuildDepends/C-Exe.step2.cmake
@@ -0,0 +1,3 @@
+file(WRITE "${RunCMake_TEST_BINARY_DIR}/main.c" [[
+int main(void) { return 2; }
+]])
diff --git a/Tests/RunCMake/BuildDepends/CMakeLists.txt b/Tests/RunCMake/BuildDepends/CMakeLists.txt
new file mode 100644
index 0000000..74b3ff8
--- /dev/null
+++ b/Tests/RunCMake/BuildDepends/CMakeLists.txt
@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 3.3)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake b/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake
new file mode 100644
index 0000000..3aa9dc2
--- /dev/null
+++ b/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake
@@ -0,0 +1,23 @@
+include(RunCMake)
+
+function(run_BuildDepends CASE)
+  # Use a single build tree for a few tests without cleaning.
+  set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${CASE}-build)
+  set(RunCMake_TEST_NO_CLEAN 1)
+  if(RunCMake_GENERATOR MATCHES "Make|Ninja")
+    set(RunCMake_TEST_OPTIONS -DCMAKE_BUILD_TYPE=Debug)
+  endif()
+  file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
+  file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
+  include(${RunCMake_SOURCE_DIR}/${CASE}.step1.cmake OPTIONAL)
+  run_cmake(${CASE})
+  set(RunCMake-check-file check.cmake)
+  set(check_step 1)
+  run_cmake_command(${CASE}-build1 ${CMAKE_COMMAND} --build . --config Debug)
+  execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution
+  include(${RunCMake_SOURCE_DIR}/${CASE}.step2.cmake OPTIONAL)
+  set(check_step 2)
+  run_cmake_command(${CASE}-build2 ${CMAKE_COMMAND} --build . --config Debug)
+endfunction()
+
+run_BuildDepends(C-Exe)
diff --git a/Tests/RunCMake/BuildDepends/check.cmake b/Tests/RunCMake/BuildDepends/check.cmake
new file mode 100644
index 0000000..be6debc
--- /dev/null
+++ b/Tests/RunCMake/BuildDepends/check.cmake
@@ -0,0 +1,34 @@
+if(EXISTS ${RunCMake_TEST_BINARY_DIR}/check-debug.cmake)
+  include(${RunCMake_TEST_BINARY_DIR}/check-debug.cmake)
+  foreach(exe IN LISTS check_exes)
+    execute_process(COMMAND ${exe} RESULT_VARIABLE res)
+    if(NOT res EQUAL ${check_step})
+      set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}
+ '${exe}' returned '${res}' but expected '${check_step}'
+")
+    endif()
+  endforeach()
+  foreach(p IN LISTS check_pairs)
+    if("${p}" MATCHES "^(.*)\\|(.*)$")
+      set(lhs "${CMAKE_MATCH_1}")
+      set(rhs "${CMAKE_MATCH_2}")
+      if(NOT EXISTS "${lhs}")
+        set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}
+ '${lhs}' missing
+")
+      elseif(NOT EXISTS "${rhs}")
+        set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}
+ '${rhs}' missing
+")
+      elseif(NOT "${lhs}" IS_NEWER_THAN "${rhs}")
+        set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}
+ '${lhs}' is not newer than '${rhs}'
+")
+      endif()
+    endif()
+  endforeach()
+else()
+  set(RunCMake_TEST_FAILED "
+ '${RunCMake_TEST_BINARY_DIR}/check-debug.cmake' missing
+")
+endif()
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 241cf90..a8f9386 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -124,6 +124,7 @@ if(NOT CMake_TEST_EXTERNAL_CMAKE)
     )
 endif()
 
+add_RunCMake_test(BuildDepends)
 if(UNIX AND "${CMAKE_GENERATOR}" MATCHES "Unix Makefiles|Ninja")
   add_RunCMake_test(CompilerChange)
 endif()

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e4b783275a79ba8d448af6a9dc4e1151cfc92661
commit e4b783275a79ba8d448af6a9dc4e1151cfc92661
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Sep 16 10:07:49 2015 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Sep 16 10:11:20 2015 -0400

    Tests: Teach RunCMake infrastructure to use custom check.cmake file

diff --git a/Tests/RunCMake/RunCMake.cmake b/Tests/RunCMake/RunCMake.cmake
index 46bc494..c3e29f8 100644
--- a/Tests/RunCMake/RunCMake.cmake
+++ b/Tests/RunCMake/RunCMake.cmake
@@ -115,7 +115,11 @@ function(run_cmake test)
     endif()
   endforeach()
   unset(RunCMake_TEST_FAILED)
-  include(${top_src}/${test}-check.cmake OPTIONAL)
+  if(RunCMake-check-file AND EXISTS ${top_src}/${RunCMake-check-file})
+    include(${top_src}/${RunCMake-check-file})
+  else()
+    include(${top_src}/${test}-check.cmake OPTIONAL)
+  endif()
   if(RunCMake_TEST_FAILED)
     set(msg "${RunCMake_TEST_FAILED}\n${msg}")
   endif()

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

Summary of changes:
 Tests/RunCMake/BuildDepends/C-Exe.cmake            |   12 +++++++
 Tests/RunCMake/BuildDepends/C-Exe.step1.cmake      |    3 ++
 Tests/RunCMake/BuildDepends/C-Exe.step2.cmake      |    3 ++
 .../{CMP0064 => BuildDepends}/CMakeLists.txt       |    0
 Tests/RunCMake/BuildDepends/RunCMakeTest.cmake     |   23 +++++++++++++
 Tests/RunCMake/BuildDepends/check.cmake            |   34 ++++++++++++++++++++
 Tests/RunCMake/CMakeLists.txt                      |    1 +
 Tests/RunCMake/RunCMake.cmake                      |    6 +++-
 8 files changed, 81 insertions(+), 1 deletion(-)
 create mode 100644 Tests/RunCMake/BuildDepends/C-Exe.cmake
 create mode 100644 Tests/RunCMake/BuildDepends/C-Exe.step1.cmake
 create mode 100644 Tests/RunCMake/BuildDepends/C-Exe.step2.cmake
 copy Tests/RunCMake/{CMP0064 => BuildDepends}/CMakeLists.txt (100%)
 create mode 100644 Tests/RunCMake/BuildDepends/RunCMakeTest.cmake
 create mode 100644 Tests/RunCMake/BuildDepends/check.cmake


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list