[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