diff --git a/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakegenerator.cpp b/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakegenerator.cpp index 31d1d75d834..e3a015c2c75 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakegenerator.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakegenerator.cpp @@ -601,6 +601,15 @@ void CMakeGenerator::createWriter() const Utils::FilePath rootPath = project->projectDirectory(); const Utils::FilePath settingsFile = rootPath.pathAppended("CMakeLists.txt.shared"); + + if (!settingsFile.exists()) { + const QString sharedTemplate = CMakeWriter::readTemplate(":/templates/cmake_shared"); + const QString sharedContent = sharedTemplate.arg(writer->identifier()); + CMakeWriter::writeFile(settingsFile, sharedContent); + m_writer = writer; + return; + } + Utils::PersistentSettingsReader reader; reader.load(settingsFile); auto store = reader.restoreValues(); diff --git a/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakewriterlib.cpp b/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakewriterlib.cpp index 7a2985a7b96..59bff54fb25 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakewriterlib.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakewriterlib.cpp @@ -47,12 +47,6 @@ void CMakeWriterLib::writeRootCMakeFile(const NodePtr &node) const createDependencies(node->dir); - const Utils::FilePath sharedFile = node->dir.pathAppended("CMakeLists.txt.shared"); - if (!sharedFile.exists()) { - const QString sharedTemplate = readTemplate(":/templates/cmake_shared"); - writeFile(sharedFile, sharedTemplate); - } - const Utils::FilePath file = node->dir.pathAppended("CMakeLists.txt"); if (!file.exists()) { QString fileSection = ""; diff --git a/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakewriterv1.cpp b/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakewriterv1.cpp index 1cfbdb8add8..601a6d1abe0 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakewriterv1.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakewriterv1.cpp @@ -74,12 +74,6 @@ void CMakeWriterV1::writeRootCMakeFile(const NodePtr &node) const createDependencies(node->dir); - const Utils::FilePath sharedFile = node->dir.pathAppended("CMakeLists.txt.shared"); - if (!sharedFile.exists()) { - const QString sharedTemplate = readTemplate(":/templates/cmake_shared"); - writeFile(sharedFile, sharedTemplate); - } - const Utils::FilePath file = node->dir.pathAppended("CMakeLists.txt"); if (!file.exists()) { const QString appName = parent()->projectName() + "App"; diff --git a/src/plugins/qmlprojectmanager/qmlprojectexporter/templates/cmakelists_txt_shared.tpl b/src/plugins/qmlprojectmanager/qmlprojectexporter/templates/cmakelists_txt_shared.tpl index 3db7152bffa..593d7f0e9d6 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectexporter/templates/cmakelists_txt_shared.tpl +++ b/src/plugins/qmlprojectmanager/qmlprojectexporter/templates/cmakelists_txt_shared.tpl @@ -13,4 +13,8 @@ Version 22 + + CMake Generator + %1 +