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();
|
||||
auto targetSourcesFunc
|
||||
= std::find_if(cmakeListFile.Functions.begin(),
|
||||
auto targetSourcesFunc = std::find_if(cmakeListFile.Functions.begin(),
|
||||
cmakeListFile.Functions.end(),
|
||||
[target_name = targetName.toStdString()](const auto &func) {
|
||||
[target_name](const auto &func) {
|
||||
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())
|
||||
continue;
|
||||
auto filePathArgument
|
||||
|
||||
Reference in New Issue
Block a user