diff options
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/MakeClean/CMakeLists.txt | 1 | ||||
-rw-r--r-- | Tests/MakeClean/ToClean/CMakeLists.txt | 23 | ||||
-rw-r--r-- | Tests/Wrapping/CMakeLists.txt | 4 |
3 files changed, 23 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) diff --git a/Tests/Wrapping/CMakeLists.txt b/Tests/Wrapping/CMakeLists.txt index 8aeec0d..cbf23c0 100644 --- a/Tests/Wrapping/CMakeLists.txt +++ b/Tests/Wrapping/CMakeLists.txt @@ -3,6 +3,10 @@ # PROJECT (Wrapping) +# Disable cleaning of custom command outputs to preserve the hacks +# used to generate the files using CONFIGURE_FILE. +SET_DIRECTORY_PROPERTIES(PROPERTIES CLEAN_NO_CUSTOM 1) + # # Lib and exe path # |