При сборке надо копировать файлы *.qml и связанные с ними ресурсы в папку с бинарником.
Я пытаюсь это делать с помощью ADD_CUSTOM_COMMAND, так:
macro(qt4_qml_deploy _target)
    foreach(_file ${ARGN})
        set(_srcFile ${CMAKE_CURRENT_SOURCE_DIR}/${_file})
        add_custom_command(TARGET ${_target} PRE_BUILD
            COMMAND ${CMAKE_COMMAND} -E copy
            ${_srcFile} $<TARGET_FILE_DIR:${_target}>/${_file} DEPENDS ${_srcFile})
    endforeach()
endmacro()
 
set(QML_RESOURCES
    test.qml
    images/logo_128.png
)
 
add_executable(${TARGET} ${SOURCES} ${HEADERS} ${QML_RESOURCES})
qt4_qml_deploy(${TARGET} ${QML_RESOURCES})
 
 
Собственно при первой сборке, файлы копируются, а при повторных сборках, когда меняю содержимое test.qml, копирование уже не происходит.
Как можно заставить cmake отслеживать изменение qml-файлов и выполнять команду копирования при этом?