diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index af4d513fb135971c3216656550f6867358075db5..faaba10be036738f799ea5d0b29071784ff6a9b4 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -178,7 +178,12 @@ void GenericProject::parseProject() _projectIncludePaths.removeDuplicates(); _generated = convertToAbsoluteFiles(projectInfo.value(QLatin1String("generated")).toStringList()); - _defines = projectInfo.value(QLatin1String("defines")).toStringList(); + + _defines.clear(); + + QFile configFn(configFileName()); + if (configFn.open(QFile::ReadOnly)) + _defines = configFn.readAll(); emit fileListChanged(); } @@ -198,6 +203,8 @@ void GenericProject::refresh() CppTools::CppModelManagerInterface::ProjectInfo pinfo = modelManager->projectInfo(this); pinfo.defines = predefinedMacros; + pinfo.defines += '\n'; + pinfo.defines += _defines; QStringList allIncludePaths, allFrameworkPaths; @@ -259,12 +266,9 @@ QStringList GenericProject::includePaths() const void GenericProject::setIncludePaths(const QStringList &includePaths) { _includePaths = includePaths; } -QStringList GenericProject::defines() const +QByteArray GenericProject::defines() const { return _defines; } -void GenericProject::setDefines(const QStringList &defines) -{ _defines = defines; } - void GenericProject::setToolChainId(const QString &toolChainId) { using namespace ProjectExplorer; diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h index 236ee752214c16ba29762add51423ba15e7c836b..54cb7473ce42fd5dd81c5218a6cb999d4437bc8f 100644 --- a/src/plugins/genericprojectmanager/genericproject.h +++ b/src/plugins/genericprojectmanager/genericproject.h @@ -90,9 +90,7 @@ public: QStringList includePaths() const; void setIncludePaths(const QStringList &includePaths); - QStringList defines() const; - void setDefines(const QStringList &defines); - + QByteArray defines() const; QStringList allIncludePaths() const; QStringList projectIncludePaths() const; QStringList files() const; @@ -124,7 +122,7 @@ private: QStringList _generated; QStringList _includePaths; QStringList _projectIncludePaths; - QStringList _defines; + QByteArray _defines; GenericProjectNode* _rootNode; ProjectExplorer::ToolChain *_toolChain; diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.cpp b/src/plugins/genericprojectmanager/genericprojectmanager.cpp index 61fba763c9749913b074f650aba5181acc253caf..7714a8e5b368a5080c7a2bcdb255b17af914f041 100644 --- a/src/plugins/genericprojectmanager/genericprojectmanager.cpp +++ b/src/plugins/genericprojectmanager/genericprojectmanager.cpp @@ -79,7 +79,10 @@ void Manager::unregisterProject(GenericProject *project) void Manager::notifyChanged(const QString &fileName) { foreach (GenericProject *project, _projects) { - project->refresh(); + if (fileName == project->filesFileName() || + fileName == project->includesFileName() || + fileName == project->configFileName()) + project->refresh(); } }