| # 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") |