summaryrefslogtreecommitdiffstats
path: root/Tests/StringFileTest
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2004-03-04 15:05:14 (GMT)
committerBrad King <brad.king@kitware.com>2004-03-04 15:05:14 (GMT)
commit4990e1481d378e89a0d07d1a25d882a38530db31 (patch)
treea1fae72b8f0e2c723d47ee06844e71eff8e61a75 /Tests/StringFileTest
parent1dd718457fe1d410314d9443fa5d82462c5ae8ea (diff)
downloadCMake-4990e1481d378e89a0d07d1a25d882a38530db31.zip
CMake-4990e1481d378e89a0d07d1a25d882a38530db31.tar.gz
CMake-4990e1481d378e89a0d07d1a25d882a38530db31.tar.bz2
ENH: Added STRING(CONFIGURE ...) command.
Diffstat (limited to 'Tests/StringFileTest')
-rw-r--r--Tests/StringFileTest/CMakeLists.txt5
-rw-r--r--Tests/StringFileTest/InputFile.h.in13
2 files changed, 18 insertions, 0 deletions
diff --git a/Tests/StringFileTest/CMakeLists.txt b/Tests/StringFileTest/CMakeLists.txt
index b0030fe..74b99ec 100644
--- a/Tests/StringFileTest/CMakeLists.txt
+++ b/Tests/StringFileTest/CMakeLists.txt
@@ -55,6 +55,11 @@ FOREACH(var
FILE(APPEND "${file}" "#define ${var} \"${${var}}\"\n")
ENDFOREACH(var)
+# Test configuration of the string
+SET(TEST_DEFINED 123)
+SET(TEST_NOT_DEFINED)
+STRING(CONFIGURE "${infile}" infile @ONLY)
+
# Write include file to a file
STRING(REGEX REPLACE "includefile" "${file}" outfile "${infile}")
FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/OutputFile.h" "${outfile}")
diff --git a/Tests/StringFileTest/InputFile.h.in b/Tests/StringFileTest/InputFile.h.in
index 1bda5af..c7c1995 100644
--- a/Tests/StringFileTest/InputFile.h.in
+++ b/Tests/StringFileTest/InputFile.h.in
@@ -1,5 +1,10 @@
#include "includefile"
+/* This should be configured to a define. */
+#cmakedefine TEST_DEFINED @TEST_DEFINED@
+/* This should be configured to a commented undef with the curlies in place */
+#cmakedefine TEST_NOT_DEFINED ${TEST_NOT_DEFINED}
+
int CheckMethod(const char* var, const char* val )
{
if ( !var )
@@ -17,5 +22,13 @@ int CheckMethod(const char* var, const char* val )
printf("Var (%s) and Val (%s) are not the same...\n", var, val);
return 1;
}
+#if !defined(TEST_DEFINED) || TEST_DEFINED != 123
+ printf("TEST_DEFINED is not defined to 123\n");
+ return 1;
+#elif defined(TEST_NOT_DEFINED)
+ printf("TEST_NOT_DEFINED is defined\n");
+ return 1;
+#else
return 0;
+#endif
}