[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