Para substituir string em uma lista de strings:
list(FIND ${MYLIST} "foo bar search string" ${find_idx})
if(find_idx GREATER -1)
LIST_REPLACE(MYLIST ${find_idx} "my replace string")
endif()
depende desta macro:
macro(LIST_REPLACE LIST INDEX NEWVALUE)
list(INSERT ${LIST} ${INDEX} ${NEWVALUE})
MATH(EXPR __INDEX "${INDEX} + 1")
list (REMOVE_AT ${LIST} ${__INDEX})
endmacro(LIST_REPLACE)