summaryrefslogtreecommitdiffstats
path: root/Tests/MakeClean
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2005-02-09 16:40:01 (GMT)
committerBrad King <brad.king@kitware.com>2005-02-09 16:40:01 (GMT)
commit4931afd89d7d7fe8d4c56aa9a7d62250945edede (patch)
tree26cbf3de48c7274dc2d5f6ed4cf3d5371daf6414 /Tests/MakeClean
parent5798510cc7a7543f3583e36f7860488f1c7f6a69 (diff)
downloadCMake-4931afd89d7d7fe8d4c56aa9a7d62250945edede.zip
CMake-4931afd89d7d7fe8d4c56aa9a7d62250945edede.tar.gz
CMake-4931afd89d7d7fe8d4c56aa9a7d62250945edede.tar.bz2
ENH: Adding cleaning of custom command outputs during "make clean".
Diffstat (limited to 'Tests/MakeClean')
-rw-r--r--Tests/MakeClean/CMakeLists.txt1
-rw-r--r--Tests/MakeClean/ToClean/CMakeLists.txt23
2 files changed, 19 insertions, 5 deletions
diff --git a/Tests/MakeClean/CMakeLists.txt b/Tests/MakeClean/CMakeLists.txt
index a1a292c..6852a6e 100644
--- a/Tests/MakeClean/CMakeLists.txt
+++ b/Tests/MakeClean/CMakeLists.txt
@@ -5,7 +5,6 @@ TRY_COMPILE(TOCLEAN_BUILT
${MakeClean_BINARY_DIR}/ToClean
${MakeClean_SOURCE_DIR}/ToClean
ToClean
- toclean
OUTPUT_VARIABLE OUTPUT
)
IF(TOCLEAN_BUILT)
diff --git a/Tests/MakeClean/ToClean/CMakeLists.txt b/Tests/MakeClean/ToClean/CMakeLists.txt
index 49507f4..673bbc4 100644
--- a/Tests/MakeClean/ToClean/CMakeLists.txt
+++ b/Tests/MakeClean/ToClean/CMakeLists.txt
@@ -5,10 +5,13 @@ 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}/toclean${CMAKE_CXX_OUTPUT_EXTENSION}")
-#SET(TOCLEAN_FILES ${TOCLEAN_FILES}
-# "${ToClean_BINARY_DIR}/toclean.dir/toclean${CMAKE_CXX_OUTPUT_EXTENSION}")
+IF(CMAKE_GENERATOR_NEW)
+ SET(TOCLEAN_FILES ${TOCLEAN_FILES}
+ "${ToClean_BINARY_DIR}/toclean.dir/toclean${CMAKE_CXX_OUTPUT_EXTENSION}")
+ELSE(CMAKE_GENERATOR_NEW)
+ SET(TOCLEAN_FILES ${TOCLEAN_FILES}
+ "${ToClean_BINARY_DIR}/toclean${CMAKE_CXX_OUTPUT_EXTENSION}")
+ENDIF(CMAKE_GENERATOR_NEW)
# Create a file that must be registered for cleaning.
FILE(WRITE "${ToClean_BINARY_DIR}/Registered.txt"
@@ -17,6 +20,18 @@ 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.
+IF(CMAKE_GENERATOR_NEW)
+ 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")
+ENDIF(CMAKE_GENERATOR_NEW)
+
# Configure a file listing these build-time-generated files.
CONFIGURE_FILE(${ToClean_SOURCE_DIR}/ToCleanFiles.cmake.in
${ToClean_BINARY_DIR}/ToCleanFiles.cmake @ONLY IMMEDIATE)