include(ExternalData) set(ExternalData_URL_TEMPLATES "file:///${CMAKE_CURRENT_SOURCE_DIR}/%(algo)/%(hash)" ) set(input Data.txt) set(output ${CMAKE_CURRENT_BINARY_DIR}/Data.txt) ExternalData_Expand_Arguments(Data args DATA{${input}} "a\\;b" "c;d" DATA{${input}}) set(expect "${output};a\\;b;c;d;${output}") if("x${args}" STREQUAL "x${expect}") message(STATUS "Data arguments correctly transformed!") else() message(FATAL_ERROR "Data arguments transformed to:\n ${args}\n" "but we expected:\n ${expect}") endif()