forked from qt-creator/qt-creator
CMakePM: Allow file rename / remove for QtQuick projects
qt_add_qml_module was not consided when looking for existing project files. This would fail when qt_add_executable and qt_add_qml_module were used with the same target name. Change-Id: Ib7374a3e1213c23aaf12d100a8817a46d57a4303 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -411,15 +411,25 @@ CMakeBuildSystem::projectFileArgumentPosition(const QString &targetName, const Q
|
|||||||
});
|
});
|
||||||
|
|
||||||
const std::string target_name = targetName.toStdString();
|
const std::string target_name = targetName.toStdString();
|
||||||
auto targetSourcesFunc
|
auto targetSourcesFunc = std::find_if(cmakeListFile.Functions.begin(),
|
||||||
= std::find_if(cmakeListFile.Functions.begin(),
|
|
||||||
cmakeListFile.Functions.end(),
|
cmakeListFile.Functions.end(),
|
||||||
[target_name = targetName.toStdString()](const auto &func) {
|
[target_name](const auto &func) {
|
||||||
return func.LowerCaseName() == "target_sources"
|
return func.LowerCaseName() == "target_sources"
|
||||||
&& func.Arguments().front().Value == target_name;
|
&& func.Arguments().size() > 1
|
||||||
|
&& func.Arguments().front().Value
|
||||||
|
== target_name;
|
||||||
|
});
|
||||||
|
auto addQmlModuleFunc = std::find_if(cmakeListFile.Functions.begin(),
|
||||||
|
cmakeListFile.Functions.end(),
|
||||||
|
[target_name](const auto &func) {
|
||||||
|
return (func.LowerCaseName() == "qt_add_qml_module"
|
||||||
|
|| func.LowerCaseName() == "qt6_add_qml_module")
|
||||||
|
&& func.Arguments().size() > 1
|
||||||
|
&& func.Arguments().front().Value
|
||||||
|
== target_name;
|
||||||
});
|
});
|
||||||
|
|
||||||
for (const auto &func : {function, targetSourcesFunc}) {
|
for (const auto &func : {function, targetSourcesFunc, addQmlModuleFunc}) {
|
||||||
if (func == cmakeListFile.Functions.end())
|
if (func == cmakeListFile.Functions.end())
|
||||||
continue;
|
continue;
|
||||||
auto filePathArgument
|
auto filePathArgument
|
||||||
|
|||||||
Reference in New Issue
Block a user