summaryrefslogtreecommitdiffstats
path: root/Tests/GeneratorExpression/pwd.c
diff options
context:
space:
mode:
authorBen Boeckel <mathstuf@gmail.com>2013-08-07 21:07:30 (GMT)
committerBrad King <brad.king@kitware.com>2013-09-20 12:18:22 (GMT)
commitd331292c121269ccfceee302a0f9bbb960b9f02d (patch)
treebe5575ff1ac79b79fbd63d2bef957a8c17692f2f /Tests/GeneratorExpression/pwd.c
parent6fe5c4afc0a8363927ecd48bea4cc822894f97db (diff)
downloadCMake-d331292c121269ccfceee302a0f9bbb960b9f02d.zip
CMake-d331292c121269ccfceee302a0f9bbb960b9f02d.tar.gz
CMake-d331292c121269ccfceee302a0f9bbb960b9f02d.tar.bz2
cmTestGenerator: Evaluate generator expressions in test properties
This is useful for cases like: add_test(NAME mytest COMMAND mydriver $<TARGET_FILE:myexe>) set_tests_properties(mytest PROPERTIES REQUIRED_FILES "$<TARGET_FILE:myexe>" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>" ) In this example we require the actual test executable to exist to run the test in addition to the test driver at argv[0]. Also the $<CONFIGURATION> expression improves over \${CTEST_CONFIGURATION_TYPE} because the latter is not normalized for case-sensitive filesystems.
Diffstat (limited to 'Tests/GeneratorExpression/pwd.c')
-rw-r--r--Tests/GeneratorExpression/pwd.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/Tests/GeneratorExpression/pwd.c b/Tests/GeneratorExpression/pwd.c
new file mode 100644
index 0000000..054b1af
--- /dev/null
+++ b/Tests/GeneratorExpression/pwd.c
@@ -0,0 +1,34 @@
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#ifdef _WIN32
+#include <direct.h>
+#define getcurdir _getcwd
+#else
+#include <unistd.h>
+#define getcurdir getcwd
+#endif
+
+int main(int argc, char* argv[])
+{
+#define BUFSZ 20000
+ char buf[BUFSZ + 1];
+#ifdef _WIN32
+ char *pos;
+#endif
+ getcurdir(buf, BUFSZ);
+#ifdef _WIN32
+ pos = buf;
+ while (*pos)
+ {
+ if (*pos == '\\')
+ {
+ *pos = '/';
+ }
+ ++pos;
+ }
+#endif
+ printf("%s\n", buf);
+ return EXIT_SUCCESS;
+}