# Verify the current working directory. if(NOT EXISTS CMakeLists.txt) message(FATAL_ERROR "File does not exist:\n ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt") endif() if(NOT EXISTS tutorial.cxx) message(FATAL_ERROR "File does not exist:\n ${CMAKE_CURRENT_SOURCE_DIR}/tutorial.cxx") endif() # Check if the patch is already applied. file(STRINGS CMakeLists.txt prop_line REGEX "^set_property") if(prop_line) message(STATUS "Patch already applied!") return() endif() # Apply the patch. file(APPEND CMakeLists.txt " # Patch by ExternalProject test: set_property(TARGET Tutorial PROPERTY OUTPUT_NAME EP-Tutorial) list(LENGTH TEST_LIST len) if(NOT len EQUAL 3) message(FATAL_ERROR \"TEST_LIST length is \${len}, not 3\") endif() ") message(STATUS "Patched ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt")