Visual Studio + CMake + Qt Quick: как настроить отладку?
Мой проект собирается с помощью CMake. Visual Studio может открывать CMakeLists.txt напрямую, без геренерации vcxproj, это очень удобно.
Так же в моём проекте используется Qt и QML. Если открывать vcxproj, то плагин к Visual Studio - Qt VS Tool позволяет в своих настройках подключить отладчик QML-файлов. А если открывать CMakeLists.txt, то Qt VS Tools не работает и отладчик приходится подключать вручную. Однако официальная документация весьма немногословная - про подключения отладчика там лишь краткий абзац и тот содержит недостоверные сведения. Из этого документа совершенно непонятно, как собственно подключать отладчик для отладки QML.
Я попробовал сделать так как делает Qt VS Tools. Он передает параметры командной строки в отлаживаемый файл. Я попробовал передавать такие же параметры. В Visual Studio за настройки запуска под отладчиком проекта собранного в CMake отвечает файл launch.vs.json. У меня он получился такой:
{
"version": "0.2.1",
"defaults": {},
"configurations": [
{
"type": "default",
"project": "CMakeLists.txt",
"projectTarget": "MyApp.exe (MyProj\\MyApp.exe)",
"name": "MyApp.exe (MyProj\\MyApp.exe)",
"env": "PATH=C:\\Qt\\5.13.0\\msvc2017_64\\bin;${env.PATH}",
"args": [ "-qmljsdebugger=file:MyApp.exe,block" ]
}
]
}
Собственно за подключение отладки QML отвечает строчка "args": [ "-qmljsdebugger=file:MyApp.exe,block" ]. Эта строчка скопирована с той, которая генерируется в Qt VS Tools. Только вместо имени файла Qt VS Tool передаёт туда GUID проекта. У него эта строчка выглядит так: -qmljsdebugger=file:{7A883E87-2CB8-3EB7-9DE4-156F3850167A},block. CMakeLists.txt никаких guid`ов не имеет, поэтому непонятно что нужно передавать в параметре file. Документация утверждает что имя файла. Непонятно только почему Qt VS Tools передает туда GUID.
И файл собранный в CMake при запуске с такими настройками зависает в ожидании когда к нему подключится отладчик. Непонятно только как к нему подключать отладчик, ведь он уже запущен под отлачиком и отладчик к процессу уже подключен.
В общем сплошные вопросы. Подскажите пожалуйста как правильно подключить отладчик Visual Studio для отладки QML файлов?