[Cmake-commits] CMake branch, next, updated. v3.1.1-2276-ge00d75e

Brad King brad.king at kitware.com
Fri Jan 23 10:37:31 EST 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  e00d75e25aaa93c38b59df54163ba468adac1c8a (commit)
       via  3084142a708ce9107e357649bb6323dcca17b87d (commit)
       via  b358e734b867669fe086be98502f2f4bd1bd7425 (commit)
      from  852f738c0911975d8f39491f288158fcf3795fe1 (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=e00d75e25aaa93c38b59df54163ba468adac1c8a
commit e00d75e25aaa93c38b59df54163ba468adac1c8a
Merge: 852f738 3084142
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Jan 23 10:37:30 2015 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Jan 23 10:37:30 2015 -0500

    Merge topic 'test-rerun-cmake' into next
    
    3084142a configure_file: Test that CMake re-runs on input change or output missing
    b358e734 try_compile: Test that CMake re-runs on input change


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3084142a708ce9107e357649bb6323dcca17b87d
commit 3084142a708ce9107e357649bb6323dcca17b87d
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Jan 23 10:02:04 2015 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Jan 23 10:36:02 2015 -0500

    configure_file: Test that CMake re-runs on input change or output missing
    
    With the Makefile generators we expect that touching or modifying the
    input file of a configure_file, or removing its output, will cause CMake
    to re-run on the next build.  Extend the RunCMake.configure_file test
    with a case covering this.  Also check that CMake does not re-run if
    nothing has changed.

diff --git a/Tests/RunCMake/configure_file/RerunCMake-rerun-stderr.txt b/Tests/RunCMake/configure_file/RerunCMake-rerun-stderr.txt
new file mode 100644
index 0000000..26e07b6
--- /dev/null
+++ b/Tests/RunCMake/configure_file/RerunCMake-rerun-stderr.txt
@@ -0,0 +1 @@
+^Running CMake on RerunCMake$
diff --git a/Tests/RunCMake/configure_file/RerunCMake-rerun-stdout.txt b/Tests/RunCMake/configure_file/RerunCMake-rerun-stdout.txt
new file mode 100644
index 0000000..1bd5be7
--- /dev/null
+++ b/Tests/RunCMake/configure_file/RerunCMake-rerun-stdout.txt
@@ -0,0 +1,3 @@
+-- Configuring done
+-- Generating done
+-- Build files have been written to: .*Tests/RunCMake/configure_file/RerunCMake-build
diff --git a/Tests/RunCMake/configure_file/RerunCMake-stderr.txt b/Tests/RunCMake/configure_file/RerunCMake-stderr.txt
new file mode 100644
index 0000000..26e07b6
--- /dev/null
+++ b/Tests/RunCMake/configure_file/RerunCMake-stderr.txt
@@ -0,0 +1 @@
+^Running CMake on RerunCMake$
diff --git a/Tests/RunCMake/configure_file/RerunCMake-stdout.txt b/Tests/RunCMake/configure_file/RerunCMake-stdout.txt
new file mode 100644
index 0000000..1bd5be7
--- /dev/null
+++ b/Tests/RunCMake/configure_file/RerunCMake-stdout.txt
@@ -0,0 +1,3 @@
+-- Configuring done
+-- Generating done
+-- Build files have been written to: .*Tests/RunCMake/configure_file/RerunCMake-build
diff --git a/Tests/RunCMake/configure_file/RerunCMake.cmake b/Tests/RunCMake/configure_file/RerunCMake.cmake
new file mode 100644
index 0000000..890cc1f
--- /dev/null
+++ b/Tests/RunCMake/configure_file/RerunCMake.cmake
@@ -0,0 +1,8 @@
+message("Running CMake on RerunCMake") # write to stderr if cmake reruns
+configure_file(
+  "${CMAKE_CURRENT_BINARY_DIR}/ConfigureFileInput.txt.in"
+  "${CMAKE_CURRENT_BINARY_DIR}/ConfigureFileOutput.txt"
+  @ONLY
+  )
+# make sure CMakeCache.txt is newer than ConfigureFileOutput.txt
+execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1)
diff --git a/Tests/RunCMake/configure_file/RunCMakeTest.cmake b/Tests/RunCMake/configure_file/RunCMakeTest.cmake
index c010256..489652b 100644
--- a/Tests/RunCMake/configure_file/RunCMakeTest.cmake
+++ b/Tests/RunCMake/configure_file/RunCMakeTest.cmake
@@ -7,3 +7,37 @@ run_cmake(UTF16BE-BOM)
 run_cmake(UTF32LE-BOM)
 run_cmake(UTF32BE-BOM)
 run_cmake(UnknownArg)
+
+if(RunCMake_GENERATOR MATCHES "Make")
+  # Use a single build tree for a few tests without cleaning.
+  set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/RerunCMake-build)
+  set(RunCMake_TEST_NO_CLEAN 1)
+  file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
+  file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
+  set(in_conf  "${RunCMake_TEST_BINARY_DIR}/ConfigureFileInput.txt.in")
+  file(WRITE "${in_conf}" "1")
+
+  message(STATUS "RerunCMake: first configuration...")
+  run_cmake(RerunCMake)
+  run_cmake_command(RerunCMake-nowork ${CMAKE_COMMAND} --build .)
+
+  execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution
+  message(STATUS "RerunCMake: touch configure_file input...")
+  file(WRITE "${in_conf}" "1")
+  run_cmake_command(RerunCMake-rerun ${CMAKE_COMMAND} --build .)
+  run_cmake_command(RerunCMake-nowork ${CMAKE_COMMAND} --build .)
+
+  execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution
+  message(STATUS "RerunCMake: modify configure_file input...")
+  file(WRITE "${in_conf}" "2")
+  run_cmake_command(RerunCMake-rerun ${CMAKE_COMMAND} --build .)
+  run_cmake_command(RerunCMake-nowork ${CMAKE_COMMAND} --build .)
+
+  message(STATUS "RerunCMake: remove configure_file output...")
+  file(REMOVE "${RunCMake_TEST_BINARY_DIR}/ConfigureFileOutput.txt")
+  run_cmake_command(RerunCMake-rerun ${CMAKE_COMMAND} --build .)
+  run_cmake_command(RerunCMake-nowork ${CMAKE_COMMAND} --build .)
+
+  unset(RunCMake_TEST_BINARY_DIR)
+  unset(RunCMake_TEST_NO_CLEAN)
+endif()

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b358e734b867669fe086be98502f2f4bd1bd7425
commit b358e734b867669fe086be98502f2f4bd1bd7425
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Jan 23 09:45:00 2015 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Jan 23 10:36:01 2015 -0500

    try_compile: Test that CMake re-runs on input change
    
    With the Makefile and Ninja generators we expect that touching the input
    source file for a try_compile will cause CMake to re-run on the next
    build.  Extend the RunCMake.try_compile test with a case covering this.
    Also check that CMake does not re-run if nothing has changed.

diff --git a/Tests/RunCMake/try_compile/RerunCMake-rerun-stderr.txt b/Tests/RunCMake/try_compile/RerunCMake-rerun-stderr.txt
new file mode 100644
index 0000000..88e54b1
--- /dev/null
+++ b/Tests/RunCMake/try_compile/RerunCMake-rerun-stderr.txt
@@ -0,0 +1,2 @@
+^Running CMake on RerunCMake
+FALSE$
diff --git a/Tests/RunCMake/try_compile/RerunCMake-rerun-stdout.txt b/Tests/RunCMake/try_compile/RerunCMake-rerun-stdout.txt
new file mode 100644
index 0000000..867db5f
--- /dev/null
+++ b/Tests/RunCMake/try_compile/RerunCMake-rerun-stdout.txt
@@ -0,0 +1,3 @@
+-- Configuring done
+-- Generating done
+-- Build files have been written to: .*Tests/RunCMake/try_compile/RerunCMake-build
diff --git a/Tests/RunCMake/try_compile/RerunCMake-stderr.txt b/Tests/RunCMake/try_compile/RerunCMake-stderr.txt
new file mode 100644
index 0000000..45d305a
--- /dev/null
+++ b/Tests/RunCMake/try_compile/RerunCMake-stderr.txt
@@ -0,0 +1,2 @@
+^Running CMake on RerunCMake
+TRUE$
diff --git a/Tests/RunCMake/try_compile/RerunCMake-stdout.txt b/Tests/RunCMake/try_compile/RerunCMake-stdout.txt
new file mode 100644
index 0000000..867db5f
--- /dev/null
+++ b/Tests/RunCMake/try_compile/RerunCMake-stdout.txt
@@ -0,0 +1,3 @@
+-- Configuring done
+-- Generating done
+-- Build files have been written to: .*Tests/RunCMake/try_compile/RerunCMake-build
diff --git a/Tests/RunCMake/try_compile/RerunCMake.cmake b/Tests/RunCMake/try_compile/RerunCMake.cmake
new file mode 100644
index 0000000..5a9f1d4
--- /dev/null
+++ b/Tests/RunCMake/try_compile/RerunCMake.cmake
@@ -0,0 +1,7 @@
+message("Running CMake on RerunCMake") # write to stderr if cmake reruns
+enable_language(C)
+try_compile(res
+  "${CMAKE_CURRENT_BINARY_DIR}"
+  SOURCES "${CMAKE_CURRENT_BINARY_DIR}/TryCompileInput.c"
+  )
+message("${res}")
diff --git a/Tests/RunCMake/try_compile/RunCMakeTest.cmake b/Tests/RunCMake/try_compile/RunCMakeTest.cmake
index 06096b2..f9e43fe 100644
--- a/Tests/RunCMake/try_compile/RunCMakeTest.cmake
+++ b/Tests/RunCMake/try_compile/RunCMakeTest.cmake
@@ -17,3 +17,26 @@ run_cmake(NonSourceCopyFile)
 run_cmake(NonSourceCompileDefinitions)
 
 run_cmake(CMP0056)
+
+if(RunCMake_GENERATOR MATCHES "Make|Ninja")
+  # Use a single build tree for a few tests without cleaning.
+  set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/RerunCMake-build)
+  set(RunCMake_TEST_NO_CLEAN 1)
+  file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
+  file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
+  set(in_tc  "${RunCMake_TEST_BINARY_DIR}/TryCompileInput.c")
+  file(WRITE "${in_tc}" "int main(void) { return 0; }\n")
+
+  message(STATUS "RerunCMake: first configuration...")
+  run_cmake(RerunCMake)
+  run_cmake_command(RerunCMake-nowork ${CMAKE_COMMAND} --build .)
+
+  execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution
+  message(STATUS "RerunCMake: modify try_compile input...")
+  file(WRITE "${in_tc}" "does-not-compile\n")
+  run_cmake_command(RerunCMake-rerun ${CMAKE_COMMAND} --build .)
+  run_cmake_command(RerunCMake-nowork ${CMAKE_COMMAND} --build .)
+
+  unset(RunCMake_TEST_BINARY_DIR)
+  unset(RunCMake_TEST_NO_CLEAN)
+endif()

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

Summary of changes:
 .../configure_file/RerunCMake-rerun-stderr.txt     |    1 +
 .../configure_file/RerunCMake-rerun-stdout.txt     |    3 ++
 .../RunCMake/configure_file/RerunCMake-stderr.txt  |    1 +
 .../RunCMake/configure_file/RerunCMake-stdout.txt  |    3 ++
 Tests/RunCMake/configure_file/RerunCMake.cmake     |    8 +++++
 Tests/RunCMake/configure_file/RunCMakeTest.cmake   |   34 ++++++++++++++++++++
 .../try_compile/RerunCMake-rerun-stderr.txt        |    2 ++
 .../try_compile/RerunCMake-rerun-stdout.txt        |    3 ++
 Tests/RunCMake/try_compile/RerunCMake-stderr.txt   |    2 ++
 Tests/RunCMake/try_compile/RerunCMake-stdout.txt   |    3 ++
 Tests/RunCMake/try_compile/RerunCMake.cmake        |    7 ++++
 Tests/RunCMake/try_compile/RunCMakeTest.cmake      |   23 +++++++++++++
 12 files changed, 90 insertions(+)
 create mode 100644 Tests/RunCMake/configure_file/RerunCMake-rerun-stderr.txt
 create mode 100644 Tests/RunCMake/configure_file/RerunCMake-rerun-stdout.txt
 create mode 100644 Tests/RunCMake/configure_file/RerunCMake-stderr.txt
 create mode 100644 Tests/RunCMake/configure_file/RerunCMake-stdout.txt
 create mode 100644 Tests/RunCMake/configure_file/RerunCMake.cmake
 create mode 100644 Tests/RunCMake/try_compile/RerunCMake-rerun-stderr.txt
 create mode 100644 Tests/RunCMake/try_compile/RerunCMake-rerun-stdout.txt
 create mode 100644 Tests/RunCMake/try_compile/RerunCMake-stderr.txt
 create mode 100644 Tests/RunCMake/try_compile/RerunCMake-stdout.txt
 create mode 100644 Tests/RunCMake/try_compile/RerunCMake.cmake


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list