summaryrefslogtreecommitdiffstats
path: root/Tests/Complex/Library
diff options
context:
space:
mode:
authorSebastien Barre <sebastien.barre@kitware.com>2002-01-17 20:49:08 (GMT)
committerSebastien Barre <sebastien.barre@kitware.com>2002-01-17 20:49:08 (GMT)
commite8c4fbef82bac94ee18cd99518357de1b1f237e8 (patch)
treee088c9f771324bf98a48560bd11ef8cd9f8e7cef /Tests/Complex/Library
parent201764e166b26acfceef983c026b8aae452ed466 (diff)
downloadCMake-e8c4fbef82bac94ee18cd99518357de1b1f237e8.zip
CMake-e8c4fbef82bac94ee18cd99518357de1b1f237e8.tar.gz
CMake-e8c4fbef82bac94ee18cd99518357de1b1f237e8.tar.bz2
ENH: tests ADD_DEPENDENCIES and ADD_CUSTOM_COMMAND
Diffstat (limited to 'Tests/Complex/Library')
-rw-r--r--Tests/Complex/Library/CMakeLists.txt16
-rw-r--r--Tests/Complex/Library/create_file.cxx28
2 files changed, 44 insertions, 0 deletions
diff --git a/Tests/Complex/Library/CMakeLists.txt b/Tests/Complex/Library/CMakeLists.txt
index bc890eb..73f5ab4 100644
--- a/Tests/Complex/Library/CMakeLists.txt
+++ b/Tests/Complex/Library/CMakeLists.txt
@@ -2,7 +2,23 @@ AUX_SOURCE_DIRECTORY(ExtraSources LibrarySources)
SOURCE_FILES(LibrarySources file2)
ADD_LIBRARY(CMakeTestLibrary LibrarySources)
+
SOURCE_FILES(SharedLibrarySources sharedFile)
ADD_LIBRARY(CMakeTestLibraryShared SHARED SharedLibrarySources)
+UTILITY_SOURCE(CREATE_FILE_EXE create_file "." create_file.cxx)
+ADD_EXECUTABLE(create_file create_file.cxx)
+
+ADD_DEPENDENCIES(CMakeTestLibraryShared create_file)
+
+# Attach a post-build custom-command to the lib.
+# It run ${CREATE_FILE_EXE} which will create the file
+# ${Complex_BINARY_DIR}/postbuild.txt.
+# The 'complex' executable will then test if this file exists,
+# and remove it.
+
+ADD_CUSTOM_COMMAND(SOURCE CMakeTestLibraryShared
+ COMMAND ${CREATE_FILE_EXE}
+ ARGS "${Complex_BINARY_DIR}/postbuild.txt"
+ TARGET CMakeTestLibraryShared)
diff --git a/Tests/Complex/Library/create_file.cxx b/Tests/Complex/Library/create_file.cxx
new file mode 100644
index 0000000..68a9bb8
--- /dev/null
+++ b/Tests/Complex/Library/create_file.cxx
@@ -0,0 +1,28 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+int main (int argc, char *argv[])
+{
+ if (argc < 2)
+ {
+ fprintf(stderr, "Missing name of file to create.\n");
+ return EXIT_FAILURE;
+ }
+
+ FILE *stream = fopen(argv[1], "w");
+ if(stream == NULL)
+ {
+ fprintf(stderr, "Unable to open %s for writing!\n", argv[1]);
+ return EXIT_FAILURE;
+ }
+
+ if(fclose(stream))
+ {
+ fprintf(stderr, "Unable to close %s!\n", argv[1]);
+ return EXIT_FAILURE;
+ }
+
+ fprintf(stdout, "Creating %s!\n", argv[1]);
+
+ return EXIT_SUCCESS;
+}