diff options
Diffstat (limited to 'Tests/MakeClean/ToClean/CMakeLists.txt')
-rw-r--r-- | Tests/MakeClean/ToClean/CMakeLists.txt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Tests/MakeClean/ToClean/CMakeLists.txt b/Tests/MakeClean/ToClean/CMakeLists.txt new file mode 100644 index 000000000..50facadb7 --- /dev/null +++ b/Tests/MakeClean/ToClean/CMakeLists.txt @@ -0,0 +1,31 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(ToClean) + +# Build a simple project. +ADD_EXECUTABLE(toclean toclean.cxx) + +# List some build-time-generated files. +GET_TARGET_PROPERTY(TOCLEAN_FILES toclean LOCATION) +SET(TOCLEAN_FILES ${TOCLEAN_FILES} + "${ToClean_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/toclean.dir/toclean.cxx${CMAKE_CXX_OUTPUT_EXTENSION}") + +# Create a file that must be registered for cleaning. +FILE(WRITE "${ToClean_BINARY_DIR}/Registered.txt" + "File registered for cleaning.\n") +SET_DIRECTORY_PROPERTIES(PROPERTIES + ADDITIONAL_MAKE_CLEAN_FILES "${ToClean_BINARY_DIR}/Registered.txt") +SET(TOCLEAN_FILES ${TOCLEAN_FILES} "${ToClean_BINARY_DIR}/Registered.txt") + +# Create a custom command whose output should be cleaned. +ADD_CUSTOM_COMMAND(OUTPUT ${ToClean_BINARY_DIR}/generated.txt + DEPENDS ${ToClean_SOURCE_DIR}/toclean.cxx + COMMAND ${CMAKE_COMMAND} + ARGS -E copy ${ToClean_SOURCE_DIR}/toclean.cxx + ${ToClean_BINARY_DIR}/generated.txt + ) +ADD_CUSTOM_TARGET(generate ALL DEPENDS ${ToClean_BINARY_DIR}/generated.txt) +SET(TOCLEAN_FILES ${TOCLEAN_FILES} "${ToClean_BINARY_DIR}/generated.txt") + +# Configure a file listing these build-time-generated files. +CONFIGURE_FILE(${ToClean_SOURCE_DIR}/ToCleanFiles.cmake.in + ${ToClean_BINARY_DIR}/ToCleanFiles.cmake @ONLY IMMEDIATE) |