diff --git a/Tests/Complex/Library/CMakeLists.txt b/Tests/Complex/Library/CMakeLists.txt index 9d37900e0..29d78764c 100644 --- a/Tests/Complex/Library/CMakeLists.txt +++ b/Tests/Complex/Library/CMakeLists.txt @@ -103,3 +103,14 @@ SET_SOURCE_FILES_PROPERTIES(file2 PROPERTIES ABSTRACT 1) INSTALL_FILES(/tmp .h ${Complex_BINARY_DIR}/cmTestConfigure.h) INSTALL_FILES(/tmp .cxx ${Complex_BINARY_DIR}/cmTestConfigure.h) +# Test generation of preprocessed sources. +IF("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM) + IF(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE) + ADD_CUSTOM_TARGET(test_preprocess ALL + COMMAND ${CMAKE_COMMAND} -E remove CMakeFiles/create_file.dir/create_file.i + COMMAND ${CMAKE_MAKE_PROGRAM} create_file.i + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/test_preprocess.cmake + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + ) + ENDIF(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE) +ENDIF("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM) diff --git a/Tests/Complex/Library/test_preprocess.cmake b/Tests/Complex/Library/test_preprocess.cmake new file mode 100644 index 000000000..d2d9fc652 --- /dev/null +++ b/Tests/Complex/Library/test_preprocess.cmake @@ -0,0 +1,7 @@ +SET(TEST_FILE CMakeFiles/create_file.dir/create_file.i) +FILE(READ ${TEST_FILE} CONTENTS) +IF("${CONTENTS}" MATCHES "Unable to close") + MESSAGE(STATUS "${TEST_FILE} created successfully!") +ELSE("${CONTENTS}" MATCHES "Unable to close") + MESSAGE(FATAL_ERROR "${TEST_FILE} creation failed!") +ENDIF("${CONTENTS}" MATCHES "Unable to close") diff --git a/Tests/ComplexOneConfig/Library/CMakeLists.txt b/Tests/ComplexOneConfig/Library/CMakeLists.txt index 9d37900e0..29d78764c 100644 --- a/Tests/ComplexOneConfig/Library/CMakeLists.txt +++ b/Tests/ComplexOneConfig/Library/CMakeLists.txt @@ -103,3 +103,14 @@ SET_SOURCE_FILES_PROPERTIES(file2 PROPERTIES ABSTRACT 1) INSTALL_FILES(/tmp .h ${Complex_BINARY_DIR}/cmTestConfigure.h) INSTALL_FILES(/tmp .cxx ${Complex_BINARY_DIR}/cmTestConfigure.h) +# Test generation of preprocessed sources. +IF("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM) + IF(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE) + ADD_CUSTOM_TARGET(test_preprocess ALL + COMMAND ${CMAKE_COMMAND} -E remove CMakeFiles/create_file.dir/create_file.i + COMMAND ${CMAKE_MAKE_PROGRAM} create_file.i + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/test_preprocess.cmake + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + ) + ENDIF(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE) +ENDIF("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM) diff --git a/Tests/ComplexOneConfig/Library/test_preprocess.cmake b/Tests/ComplexOneConfig/Library/test_preprocess.cmake new file mode 100644 index 000000000..d2d9fc652 --- /dev/null +++ b/Tests/ComplexOneConfig/Library/test_preprocess.cmake @@ -0,0 +1,7 @@ +SET(TEST_FILE CMakeFiles/create_file.dir/create_file.i) +FILE(READ ${TEST_FILE} CONTENTS) +IF("${CONTENTS}" MATCHES "Unable to close") + MESSAGE(STATUS "${TEST_FILE} created successfully!") +ELSE("${CONTENTS}" MATCHES "Unable to close") + MESSAGE(FATAL_ERROR "${TEST_FILE} creation failed!") +ENDIF("${CONTENTS}" MATCHES "Unable to close") diff --git a/Tests/ComplexRelativePaths/Library/CMakeLists.txt b/Tests/ComplexRelativePaths/Library/CMakeLists.txt index 9d37900e0..29d78764c 100644 --- a/Tests/ComplexRelativePaths/Library/CMakeLists.txt +++ b/Tests/ComplexRelativePaths/Library/CMakeLists.txt @@ -103,3 +103,14 @@ SET_SOURCE_FILES_PROPERTIES(file2 PROPERTIES ABSTRACT 1) INSTALL_FILES(/tmp .h ${Complex_BINARY_DIR}/cmTestConfigure.h) INSTALL_FILES(/tmp .cxx ${Complex_BINARY_DIR}/cmTestConfigure.h) +# Test generation of preprocessed sources. +IF("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM) + IF(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE) + ADD_CUSTOM_TARGET(test_preprocess ALL + COMMAND ${CMAKE_COMMAND} -E remove CMakeFiles/create_file.dir/create_file.i + COMMAND ${CMAKE_MAKE_PROGRAM} create_file.i + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/test_preprocess.cmake + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + ) + ENDIF(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE) +ENDIF("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM) diff --git a/Tests/ComplexRelativePaths/Library/test_preprocess.cmake b/Tests/ComplexRelativePaths/Library/test_preprocess.cmake new file mode 100644 index 000000000..d2d9fc652 --- /dev/null +++ b/Tests/ComplexRelativePaths/Library/test_preprocess.cmake @@ -0,0 +1,7 @@ +SET(TEST_FILE CMakeFiles/create_file.dir/create_file.i) +FILE(READ ${TEST_FILE} CONTENTS) +IF("${CONTENTS}" MATCHES "Unable to close") + MESSAGE(STATUS "${TEST_FILE} created successfully!") +ELSE("${CONTENTS}" MATCHES "Unable to close") + MESSAGE(FATAL_ERROR "${TEST_FILE} creation failed!") +ENDIF("${CONTENTS}" MATCHES "Unable to close")