| 819 | } |
| 820 | |
| 821 | bool ProjectFile::write(const QString &filename) |
| 822 | { |
| 823 | if (!filename.isEmpty()) |
| 824 | mFilename = filename; |
| 825 | |
| 826 | QFile file(mFilename); |
| 827 | if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) |
| 828 | return false; |
| 829 | |
| 830 | QXmlStreamWriter xmlWriter(&file); |
| 831 | xmlWriter.setAutoFormatting(true); |
| 832 | xmlWriter.writeStartDocument("1.0"); |
| 833 | xmlWriter.writeStartElement(CppcheckXml::ProjectElementName); |
| 834 | xmlWriter.writeAttribute(CppcheckXml::ProjectVersionAttrib, CppcheckXml::ProjectFileVersion); |
| 835 | |
| 836 | if (!mRootPath.isEmpty()) { |
| 837 | xmlWriter.writeStartElement(CppcheckXml::RootPathName); |
| 838 | xmlWriter.writeAttribute(CppcheckXml::RootPathNameAttrib, mRootPath); |
| 839 | xmlWriter.writeEndElement(); |
| 840 | } |
| 841 | |
| 842 | if (!mBuildDir.isEmpty()) { |
| 843 | xmlWriter.writeStartElement(CppcheckXml::BuildDirElementName); |
| 844 | xmlWriter.writeCharacters(mBuildDir); |
| 845 | xmlWriter.writeEndElement(); |
| 846 | } |
| 847 | |
| 848 | if (!mPlatform.isEmpty()) { |
| 849 | xmlWriter.writeStartElement(CppcheckXml::PlatformElementName); |
| 850 | xmlWriter.writeCharacters(mPlatform); |
| 851 | xmlWriter.writeEndElement(); |
| 852 | } |
| 853 | |
| 854 | if (!mImportProject.isEmpty()) { |
| 855 | xmlWriter.writeStartElement(CppcheckXml::ImportProjectElementName); |
| 856 | xmlWriter.writeCharacters(mImportProject); |
| 857 | xmlWriter.writeEndElement(); |
| 858 | } |
| 859 | |
| 860 | xmlWriter.writeStartElement(CppcheckXml::AnalyzeAllVsConfigsElementName); |
| 861 | xmlWriter.writeCharacters(bool_to_string(mAnalyzeAllVsConfigs)); |
| 862 | xmlWriter.writeEndElement(); |
| 863 | |
| 864 | if (clangParser) { |
| 865 | xmlWriter.writeStartElement(CppcheckXml::Parser); |
| 866 | xmlWriter.writeCharacters("clang"); |
| 867 | xmlWriter.writeEndElement(); |
| 868 | } |
| 869 | |
| 870 | xmlWriter.writeStartElement(CppcheckXml::CheckHeadersElementName); |
| 871 | xmlWriter.writeCharacters(bool_to_string(mCheckHeaders)); |
| 872 | xmlWriter.writeEndElement(); |
| 873 | |
| 874 | xmlWriter.writeStartElement(CppcheckXml::CheckUnusedTemplatesElementName); |
| 875 | xmlWriter.writeCharacters(bool_to_string(mCheckUnusedTemplates)); |
| 876 | xmlWriter.writeEndElement(); |
| 877 | |
| 878 | xmlWriter.writeStartElement(CppcheckXml::InlineSuppression); |
no test coverage detected