set(out) string(PREPEND out) if(DEFINED out) message(FATAL_ERROR "\"string(PREPEND out)\" set out to \"${out}\"") endif() set(out "") string(PREPEND out) if(NOT out STREQUAL "") message(FATAL_ERROR "\"string(PREPEND out)\" set out to \"${out}\"") endif() set(out x) string(PREPEND out) if(NOT out STREQUAL "x") message(FATAL_ERROR "\"string(PREPEND out)\" set out to \"${out}\"") endif() set(out) string(PREPEND out a) if(NOT out STREQUAL "a") message(FATAL_ERROR "\"string(PREPEND out a)\" set out to \"${out}\"") endif() set(out "") string(PREPEND out a) if(NOT out STREQUAL "a") message(FATAL_ERROR "\"string(PREPEND out a)\" set out to \"${out}\"") endif() set(out x) string(PREPEND out a) if(NOT out STREQUAL "ax") message(FATAL_ERROR "\"string(PREPEND out a)\" set out to \"${out}\"") endif() set(out x) string(PREPEND out a "b") if(NOT out STREQUAL "abx") message(FATAL_ERROR "\"string(PREPEND out a \"b\")\" set out to \"${out}\"") endif() set(b) set(out x) string(PREPEND out ${b}) if(NOT out STREQUAL "x") message(FATAL_ERROR "\"string(PREPEND out \${b})\" set out to \"${out}\"") endif() set(b b) set(out x) string(PREPEND out a "${b}" [[ ${c}]]) if(NOT out STREQUAL "ab\${c}x") message(FATAL_ERROR "\"string(PREPEND out a \"\${b}\" [[\${c}]])\" set out to \"${out}\"") endif()