[cmake-developers] [PATCH] Add a test for checking that the CPack module produces correct config files

Роман Донченко dpb at corrigendum.ru
Wed Aug 19 15:08:48 EDT 2015


Currently, the only case is for simple variable values (not containing any
CMake-special characters and not determined by CPack itself).
---
 Tests/RunCMake/CMakeLists.txt                 | 1 +
 Tests/RunCMake/CPackConfig/CMakeLists.txt     | 6 ++++++
 Tests/RunCMake/CPackConfig/RunCMakeTest.cmake | 3 +++
 Tests/RunCMake/CPackConfig/Simple-check.cmake | 3 +++
 Tests/RunCMake/CPackConfig/Simple.cmake       | 1 +
 Tests/RunCMake/CPackConfig/check.cmake        | 7 +++++++
 6 files changed, 21 insertions(+)
 create mode 100644 Tests/RunCMake/CPackConfig/CMakeLists.txt
 create mode 100644 Tests/RunCMake/CPackConfig/RunCMakeTest.cmake
 create mode 100644 Tests/RunCMake/CPackConfig/Simple-check.cmake
 create mode 100644 Tests/RunCMake/CPackConfig/Simple.cmake
 create mode 100644 Tests/RunCMake/CPackConfig/check.cmake

diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index c274d8f..2955db2 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -239,6 +239,7 @@ add_RunCMake_test(CommandLine)
 add_RunCMake_test(CommandLineTar)
 
 add_RunCMake_test(install)
+add_RunCMake_test(CPackConfig)
 add_RunCMake_test(CPackInstallProperties)
 add_RunCMake_test(ExternalProject)
 add_RunCMake_test(CTestCommandLine)
diff --git a/Tests/RunCMake/CPackConfig/CMakeLists.txt b/Tests/RunCMake/CPackConfig/CMakeLists.txt
new file mode 100644
index 0000000..9a9e7b4
--- /dev/null
+++ b/Tests/RunCMake/CPackConfig/CMakeLists.txt
@@ -0,0 +1,6 @@
+cmake_minimum_required(VERSION 3.3)
+
+project(${RunCMake_TEST})
+include(${RunCMake_TEST}.cmake)
+
+include(CPack)
diff --git a/Tests/RunCMake/CPackConfig/RunCMakeTest.cmake b/Tests/RunCMake/CPackConfig/RunCMakeTest.cmake
new file mode 100644
index 0000000..6787eb8
--- /dev/null
+++ b/Tests/RunCMake/CPackConfig/RunCMakeTest.cmake
@@ -0,0 +1,3 @@
+include(RunCMake)
+
+run_cmake(Simple)
diff --git a/Tests/RunCMake/CPackConfig/Simple-check.cmake b/Tests/RunCMake/CPackConfig/Simple-check.cmake
new file mode 100644
index 0000000..6e0cf6f
--- /dev/null
+++ b/Tests/RunCMake/CPackConfig/Simple-check.cmake
@@ -0,0 +1,3 @@
+include(${RunCMake_SOURCE_DIR}/check.cmake)
+
+test_variable(CPACK_FOO "bar baz;quux")
diff --git a/Tests/RunCMake/CPackConfig/Simple.cmake b/Tests/RunCMake/CPackConfig/Simple.cmake
new file mode 100644
index 0000000..c9f6541
--- /dev/null
+++ b/Tests/RunCMake/CPackConfig/Simple.cmake
@@ -0,0 +1 @@
+set(CPACK_FOO "bar baz;quux")
diff --git a/Tests/RunCMake/CPackConfig/check.cmake b/Tests/RunCMake/CPackConfig/check.cmake
new file mode 100644
index 0000000..2fc9f11
--- /dev/null
+++ b/Tests/RunCMake/CPackConfig/check.cmake
@@ -0,0 +1,7 @@
+function(test_variable NAME EXPECTED_VALUE)
+  if(NOT "${${NAME}}" STREQUAL "${EXPECTED_VALUE}")
+    message(FATAL_ERROR "${NAME}: variable mismatch; expected [${EXPECTED_VALUE}] actual [${${NAME}}]")
+  endif()
+endfunction()
+
+include(${RunCMake_TEST_BINARY_DIR}/CPackConfig.cmake)
-- 
1.9.5.msysgit.0



More information about the cmake-developers mailing list