set(oldname "${CMAKE_CURRENT_BINARY_DIR}/input") set(newname "${CMAKE_CURRENT_BINARY_DIR}/output") file(WRITE "${oldname}" "a") file(WRITE "${newname}" "b") file(RENAME "${oldname}" "${newname}") file(READ "${newname}" new) if(NOT "${new}" STREQUAL "a") message(FATAL_ERROR "New name:\n ${newname}\n" "does not contain expected content 'a'.") endif()