diff options
author | Sebastien Barre <sebastien.barre@kitware.com> | 2002-01-17 20:49:08 (GMT) |
---|---|---|
committer | Sebastien Barre <sebastien.barre@kitware.com> | 2002-01-17 20:49:08 (GMT) |
commit | e8c4fbef82bac94ee18cd99518357de1b1f237e8 (patch) | |
tree | e088c9f771324bf98a48560bd11ef8cd9f8e7cef /Tests/Complex/Library | |
parent | 201764e166b26acfceef983c026b8aae452ed466 (diff) | |
download | CMake-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.txt | 16 | ||||
-rw-r--r-- | Tests/Complex/Library/create_file.cxx | 28 |
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; +} |