[Cmake-commits] CMake branch, next, updated. v3.1.1-2251-gd3dad49
Brad King
brad.king at kitware.com
Thu Jan 22 16:52:03 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 d3dad494c00f64119c702440670e366a64b82554 (commit)
via dadb104e12a803e1efd435712f59446675e86b6f (commit)
from 9ebdc29f1d380cb37aacf99aded77aea76ac0f79 (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=d3dad494c00f64119c702440670e366a64b82554
commit d3dad494c00f64119c702440670e366a64b82554
Merge: 9ebdc29 dadb104
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 22 16:52:02 2015 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Jan 22 16:52:02 2015 -0500
Merge topic 'ninja-generate-outputs' into next
dadb104e ninja: Add case to cover try_compile and configure_file CMake re-runs
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dadb104e12a803e1efd435712f59446675e86b6f
commit dadb104e12a803e1efd435712f59446675e86b6f
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 22 16:40:41 2015 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Thu Jan 22 16:49:48 2015 -0500
ninja: Add case to cover try_compile and configure_file CMake re-runs
Extend the RunCMake.Configure test for the Ninja generator to cover
re-running CMake when try_compile/configure_file inputs change or when
the configure_file output is missing.
diff --git a/Tests/RunCMake/Configure/NinjaRerunCMake-nowork-stdout.txt b/Tests/RunCMake/Configure/NinjaRerunCMake-nowork-stdout.txt
new file mode 100644
index 0000000..76f3cb7
--- /dev/null
+++ b/Tests/RunCMake/Configure/NinjaRerunCMake-nowork-stdout.txt
@@ -0,0 +1 @@
+^ninja: no work to do.$
diff --git a/Tests/RunCMake/Configure/NinjaRerunCMake-rerun-stderr.txt b/Tests/RunCMake/Configure/NinjaRerunCMake-rerun-stderr.txt
new file mode 100644
index 0000000..3510266
--- /dev/null
+++ b/Tests/RunCMake/Configure/NinjaRerunCMake-rerun-stderr.txt
@@ -0,0 +1 @@
+^FALSE$
diff --git a/Tests/RunCMake/Configure/NinjaRerunCMake-rerun-stdout.txt b/Tests/RunCMake/Configure/NinjaRerunCMake-rerun-stdout.txt
new file mode 100644
index 0000000..f6e9e57
--- /dev/null
+++ b/Tests/RunCMake/Configure/NinjaRerunCMake-rerun-stdout.txt
@@ -0,0 +1,3 @@
+^\[1/1\] Re-running CMake\.\.\.
+.*
+ninja: no work to do.$
diff --git a/Tests/RunCMake/Configure/NinjaRerunCMake-stderr.txt b/Tests/RunCMake/Configure/NinjaRerunCMake-stderr.txt
new file mode 100644
index 0000000..2093e5f
--- /dev/null
+++ b/Tests/RunCMake/Configure/NinjaRerunCMake-stderr.txt
@@ -0,0 +1 @@
+^TRUE$
diff --git a/Tests/RunCMake/Configure/NinjaRerunCMake.cmake b/Tests/RunCMake/Configure/NinjaRerunCMake.cmake
new file mode 100644
index 0000000..69b269b
--- /dev/null
+++ b/Tests/RunCMake/Configure/NinjaRerunCMake.cmake
@@ -0,0 +1,11 @@
+enable_language(C)
+configure_file(
+ "${CMAKE_CURRENT_BINARY_DIR}/ConfigureFileInput.txt.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/ConfigureFileOutput.txt"
+ @ONLY
+ )
+try_compile(res
+ "${CMAKE_CURRENT_BINARY_DIR}"
+ SOURCES "${CMAKE_CURRENT_BINARY_DIR}/TryCompileInput.c"
+ )
+message("${res}")
diff --git a/Tests/RunCMake/Configure/RunCMakeTest.cmake b/Tests/RunCMake/Configure/RunCMakeTest.cmake
index 58e1a2a..8fa7a09 100644
--- a/Tests/RunCMake/Configure/RunCMakeTest.cmake
+++ b/Tests/RunCMake/Configure/RunCMakeTest.cmake
@@ -23,3 +23,41 @@ file(WRITE "${depend}" "2")
run_cmake_command(RerunCMake-build2 ${CMAKE_COMMAND} --build .)
unset(RunCMake_TEST_BINARY_DIR)
unset(RunCMake_TEST_NO_CLEAN)
+
+if(RunCMake_GENERATOR STREQUAL "Ninja")
+ # Use a single build tree for a few tests without cleaning.
+ set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/NinjaRerunCMake-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")
+ set(in_tc "${RunCMake_TEST_BINARY_DIR}/TryCompileInput.c")
+ file(WRITE "${in_tc}" "int main(void) { return 0; }\n")
+
+ # Force NINJA_STATUS to be a certain style to not break the regex.
+ set(ENV{NINJA_STATUS} "[%s/%t] ")
+
+ message(STATUS "NinjaRerunCMake - First configuration:")
+ run_cmake(NinjaRerunCMake)
+ run_cmake_command(NinjaRerunCMake-nowork ${CMAKE_COMMAND} --build .)
+ execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution
+ message(STATUS "NinjaRerunCMake - Modify try_compile input:")
+ file(WRITE "${in_tc}" "does-not-compile\n")
+ run_cmake_command(NinjaRerunCMake-rerun ${CMAKE_COMMAND} --build .)
+ run_cmake_command(NinjaRerunCMake-nowork ${CMAKE_COMMAND} --build .)
+
+ message(STATUS "NinjaRerunCMake - Remove configure_file output:")
+ file(REMOVE "${RunCMake_TEST_BINARY_DIR}/ConfigureFileOutput.txt")
+ run_cmake_command(NinjaRerunCMake-rerun ${CMAKE_COMMAND} --build .)
+ run_cmake_command(NinjaRerunCMake-nowork ${CMAKE_COMMAND} --build .)
+
+ execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution
+ message(STATUS "NinjaRerunCMake - Modify configure_file input:")
+ file(WRITE "${in_conf}" "2")
+ run_cmake_command(NinjaRerunCMake-rerun ${CMAKE_COMMAND} --build .)
+ run_cmake_command(NinjaRerunCMake-nowork ${CMAKE_COMMAND} --build .)
+
+ unset(RunCMake_TEST_BINARY_DIR)
+ unset(RunCMake_TEST_NO_CLEAN)
+endif()
-----------------------------------------------------------------------
Summary of changes:
.../Configure/NinjaRerunCMake-nowork-stdout.txt | 1 +
.../NinjaRerunCMake-rerun-stderr.txt} | 0
.../Configure/NinjaRerunCMake-rerun-stdout.txt | 3 ++
.../RunCMake/Configure/NinjaRerunCMake-stderr.txt | 1 +
Tests/RunCMake/Configure/NinjaRerunCMake.cmake | 11 ++++++
Tests/RunCMake/Configure/RunCMakeTest.cmake | 38 ++++++++++++++++++++
6 files changed, 54 insertions(+)
create mode 100644 Tests/RunCMake/Configure/NinjaRerunCMake-nowork-stdout.txt
copy Tests/RunCMake/{ninja/init-stderr.txt => Configure/NinjaRerunCMake-rerun-stderr.txt} (100%)
create mode 100644 Tests/RunCMake/Configure/NinjaRerunCMake-rerun-stdout.txt
create mode 100644 Tests/RunCMake/Configure/NinjaRerunCMake-stderr.txt
create mode 100644 Tests/RunCMake/Configure/NinjaRerunCMake.cmake
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list