forked from qt-creator/qt-creator
		
	The image cache is saving images and icon of this images in a sqlite database. If there are no images they are generated in the backgound. The icons are fetched by item library. Task-number: QDS-2782 Task-number: QDS-2783 Task-number: QDS-2858 Change-Id: I5a32cccfef7f8fd8eb78902605a09f5da18ce88e Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
		
			
				
	
	
		
			896 lines
		
	
	
		
			35 KiB
		
	
	
	
		
			QML
		
	
	
	
	
	
			
		
		
	
	
			896 lines
		
	
	
		
			35 KiB
		
	
	
	
		
			QML
		
	
	
	
	
	
import qbs.File
 | 
						|
import qbs.FileInfo
 | 
						|
 | 
						|
Project {
 | 
						|
    name: "Unit test & helper products"
 | 
						|
 | 
						|
    Product {
 | 
						|
        name: "qtc_gtest_gmock"
 | 
						|
 | 
						|
        Export {
 | 
						|
            property bool useExternalLibs: preferExternalLibs && externalLibsPresent
 | 
						|
            property bool useRepo: !useExternalLibs && hasRepo
 | 
						|
            property bool preferExternalLibs: true
 | 
						|
            property bool externalLibsPresent: gtest.present && gmock.present
 | 
						|
            property string repoDir: FileInfo.joinPaths(path, "3rdparty", "googletest")
 | 
						|
            property string gtestDir: FileInfo.joinPaths(repoDir, "googletest")
 | 
						|
            property string gmockDir: FileInfo.joinPaths(repoDir, "googlemock")
 | 
						|
            property bool hasRepo: File.exists(gtestDir)
 | 
						|
 | 
						|
            Depends { name: "pkgconfig"; condition: preferExternalLibs; required: false }
 | 
						|
            Depends { name: "gtest"; condition: preferExternalLibs; required: false }
 | 
						|
            Depends { name: "gmock"; condition: preferExternalLibs; required: false }
 | 
						|
 | 
						|
            Depends { name: "cpp" }
 | 
						|
            Group {
 | 
						|
                name: "Files from repository"
 | 
						|
                condition: qtc_gtest_gmock.useRepo
 | 
						|
                cpp.includePaths: [
 | 
						|
                    qtc_gtest_gmock.gtestDir,
 | 
						|
                    qtc_gtest_gmock.gmockDir,
 | 
						|
                    FileInfo.joinPaths(qtc_gtest_gmock.gtestDir, "include"),
 | 
						|
                    FileInfo.joinPaths(qtc_gtest_gmock.gmockDir, "include"),
 | 
						|
                ]
 | 
						|
                files: [
 | 
						|
                    FileInfo.joinPaths(qtc_gtest_gmock.gtestDir, "src", "gtest-all.cc"),
 | 
						|
                    FileInfo.joinPaths(qtc_gtest_gmock.gmockDir, "src", "gmock-all.cc"),
 | 
						|
                ]
 | 
						|
            }
 | 
						|
 | 
						|
            Properties {
 | 
						|
                condition: useRepo
 | 
						|
                cpp.includePaths: [
 | 
						|
                    FileInfo.joinPaths(gtestDir, "include"),
 | 
						|
                    FileInfo.joinPaths(gmockDir, "include"),
 | 
						|
                ]
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    QtcProduct {
 | 
						|
        name: "Unit test"
 | 
						|
        condition: qtc_gtest_gmock.hasRepo || qtc_gtest_gmock.externalLibsPresent
 | 
						|
        type: ["application", "autotest", "json_copy"]
 | 
						|
        consoleApplication: true
 | 
						|
        destinationDirectory: FileInfo.joinPaths(project.buildDirectory,
 | 
						|
                FileInfo.relativePath(project.ide_source_tree, sourceDirectory))
 | 
						|
        install: false
 | 
						|
 | 
						|
        Depends { name: "echoserver" }
 | 
						|
        Depends { name: "pluginjson" }
 | 
						|
        Depends { name: "libclang"; required: false }
 | 
						|
        Depends { name: "clang_defines" }
 | 
						|
 | 
						|
        Depends { name: "QmlDesigner" }
 | 
						|
 | 
						|
        Depends { name: "sqlite_sources" }
 | 
						|
        Depends { name: "Core" }
 | 
						|
        Depends { name: "CPlusPlus" }
 | 
						|
        Depends { name: "yaml-cpp" }
 | 
						|
 | 
						|
        Depends { name: "Qt"; submodules: ["network", "widgets", "testlib"] }
 | 
						|
 | 
						|
        Depends { name: "pkgconfig"; required: false }
 | 
						|
        Depends { name: "benchmark"; required: false }
 | 
						|
 | 
						|
        Depends { name: "qtc_gtest_gmock" }
 | 
						|
 | 
						|
        pluginjson.useVcsData: false
 | 
						|
        sqlite_sources.buildSharedLib: false
 | 
						|
 | 
						|
        cpp.defines: {
 | 
						|
            var defines = [
 | 
						|
                        "QT_NO_CAST_TO_ASCII",
 | 
						|
                        "QT_RESTRICTED_CAST_FROM_ASCII",
 | 
						|
                        "QT_USE_FAST_OPERATOR_PLUS",
 | 
						|
                        "QT_USE_FAST_CONCATENATION",
 | 
						|
                        "CLANGPCHMANAGER_STATIC_LIB",
 | 
						|
                        "CLANGSUPPORT_BUILD_STATIC_LIB",
 | 
						|
                        "CLANGTOOLS_STATIC_LIBRARY",
 | 
						|
                        "CPPTOOLS_STATIC_LIBRARY",
 | 
						|
                        "DEBUGGER_STATIC_LIBRARY",
 | 
						|
                        "PROJECTEXPLORER_STATIC_LIBRARY",
 | 
						|
                        "UNIT_TESTS",
 | 
						|
                        "DONT_CHECK_MESSAGE_COUNTER",
 | 
						|
                        'QTC_RESOURCE_DIR="' + path + "/../../../share/qtcreator" + '"',
 | 
						|
                        'TESTDATA_DIR="' + FileInfo.joinPaths(sourceDirectory, "data") + '"',
 | 
						|
                        'ECHOSERVER="' + FileInfo.joinPaths(project.buildDirectory, "tests", "unit",
 | 
						|
                                                            "echoserver", "echo") + '"',
 | 
						|
                        'RELATIVE_DATA_PATH="' + FileInfo.relativePath(destinationDirectory,
 | 
						|
                                                                       FileInfo.joinPaths(project.sourceDirectory, "share", "qtcreator")) + '"',
 | 
						|
                        'CPPTOOLS_JSON="' + FileInfo.joinPaths(destinationDirectory, "CppTools.json") + '"',
 | 
						|
                    ];
 | 
						|
            if (libclang.present) {
 | 
						|
                defines.push("CLANG_UNIT_TESTS");
 | 
						|
                if (libclang.toolingEnabled)
 | 
						|
                    defines = defines.concat(libclang.llvmToolingDefines);
 | 
						|
            }
 | 
						|
            return defines;
 | 
						|
        }
 | 
						|
        cpp.cxxFlags: {
 | 
						|
            var flags = [];
 | 
						|
            if (qbs.toolchain.contains("msvc"))
 | 
						|
                flags.push("-w34100", "/bigobj", "/wd4267", "/wd4141", "/wd4146");
 | 
						|
            if (qbs.toolchain.contains("gcc") && !qbs.toolchain.contains("clang"))
 | 
						|
                flags.push("-Wno-noexcept-type");
 | 
						|
            if (qbs.toolchain.contains("clang")) {
 | 
						|
                flags.push("-Wno-inconsistent-missing-override", "-Wno-self-move",
 | 
						|
                           "-Wno-self-assign-overloaded");
 | 
						|
                flags.push("-Wno-unused-command-line-argument"); // gtest puts -lpthread on compiler command line
 | 
						|
                if (!qbs.hostOS.contains("darwin")
 | 
						|
                        && Utilities.versionCompare(cpp.compilerVersion, "10") >= 0) {
 | 
						|
                    flags.push("-Wno-deprecated-copy", "-Wno-constant-logical-operand");
 | 
						|
                }
 | 
						|
            }
 | 
						|
            if (qbs.toolchain.contains("gcc"))
 | 
						|
                flags.push("-Wno-unused-parameter");
 | 
						|
            if (libclang.present && libclang.toolingEnabled)
 | 
						|
                flags = flags.concat(libclang.llvmToolingCxxFlags);
 | 
						|
            return flags;
 | 
						|
        }
 | 
						|
        cpp.cxxLanguageVersion: "c++17"
 | 
						|
        cpp.dynamicLibraries: {
 | 
						|
            var libs = [];
 | 
						|
            if (libclang.present) {
 | 
						|
                libs = libs.concat(libclang.llvmLibs);
 | 
						|
                if (libclang.toolingEnabled)
 | 
						|
                    libs = libs.concat(libclang.llvmToolingLibs);
 | 
						|
                if (libclang.llvmFormattingLibs.length
 | 
						|
                        && (!qbs.targetOS.contains("windows") || libclang.llvmBuildModeMatches)) {
 | 
						|
                    libs = libs.concat(libclang.llvmFormattingLibs);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            return libs;
 | 
						|
        }
 | 
						|
        cpp.includePaths: {
 | 
						|
            var paths = [
 | 
						|
                        ".",
 | 
						|
                        "../mockup",
 | 
						|
                        "../../../src/libs",
 | 
						|
                        "../../../src/libs/3rdparty",
 | 
						|
                        "../../../src/libs/clangsupport",
 | 
						|
                        "../../../src/plugins",
 | 
						|
                        "../../../src/plugins/clangcodemodel",
 | 
						|
                        "../../../src/plugins/clangpchmanager",
 | 
						|
                        "../../../src/plugins/clangrefactoring",
 | 
						|
                        "../../../src/tools/clangbackend/source",
 | 
						|
                        "../../../src/tools/clangpchmanagerbackend/source",
 | 
						|
                        "../../../src/tools/clangrefactoringbackend/source",
 | 
						|
                        "../../../share/qtcreator/qml/qmlpuppet/types",
 | 
						|
                    ];
 | 
						|
            if (libclang.present) {
 | 
						|
                paths.push(libclang.llvmIncludeDir);
 | 
						|
                if (libclang.toolingEnabled)
 | 
						|
                    paths = paths.concat(libclang.llvmToolingIncludes);
 | 
						|
            }
 | 
						|
            return paths;
 | 
						|
        }
 | 
						|
        cpp.libraryPaths: {
 | 
						|
            var paths = [];
 | 
						|
            if (libclang.present)
 | 
						|
                paths.push(libclang.llvmLibDir);
 | 
						|
            return paths;
 | 
						|
        }
 | 
						|
        cpp.rpaths: {
 | 
						|
            var paths = [
 | 
						|
                        FileInfo.joinPaths(project.buildDirectory, qtc.ide_library_path),
 | 
						|
                        FileInfo.joinPaths(project.buildDirectory, qtc.ide_plugin_path)
 | 
						|
                    ];
 | 
						|
            if (libclang.present)
 | 
						|
                paths.push(libclang.llvmLibDir);
 | 
						|
            return paths;
 | 
						|
        }
 | 
						|
 | 
						|
        files: [
 | 
						|
            "builddependenciesprovider-test.cpp",
 | 
						|
            "builddependenciesstorage-test.cpp",
 | 
						|
            "clangindexingsettingsmanager-test.cpp",
 | 
						|
            "clangpathwatcher-test.cpp",
 | 
						|
            "clangqueryexamplehighlightmarker-test.cpp",
 | 
						|
            "clangqueryhighlightmarker-test.cpp",
 | 
						|
            "clientserverinprocess-test.cpp",
 | 
						|
            "clientserveroutsideprocess-test.cpp",
 | 
						|
            "commandlinebuilder-test.cpp",
 | 
						|
            "compare-operators.h",
 | 
						|
            "compilationdatabaseutils-test.cpp",
 | 
						|
            "compileroptionsbuilder-test.cpp",
 | 
						|
            "conditionally-disabled-tests.h",
 | 
						|
            "cppprojectfilecategorizer-test.cpp",
 | 
						|
            "cppprojectinfogenerator-test.cpp",
 | 
						|
            "cppprojectpartchooser-test.cpp",
 | 
						|
            "createtablesqlstatementbuilder-test.cpp",
 | 
						|
            "directorypathcompressor-test.cpp",
 | 
						|
            "dummyclangipcclient.h",
 | 
						|
            "dynamicastmatcherdiagnosticcontainer-matcher.h",
 | 
						|
            "eventspy.cpp",
 | 
						|
            "eventspy.h",
 | 
						|
            "fakeprocess.cpp",
 | 
						|
            "fakeprocess.h",
 | 
						|
            "filepath-test.cpp",
 | 
						|
            "filepathcache-test.cpp",
 | 
						|
            "filepathstorage-test.cpp",
 | 
						|
            "filepathstoragesqlitestatementfactory-test.cpp",
 | 
						|
            "filepathview-test.cpp",
 | 
						|
            "filestatuscache-test.cpp",
 | 
						|
            "filesystem-utilities.h",
 | 
						|
            "generatedfiles-test.cpp",
 | 
						|
            "google-using-declarations.h",
 | 
						|
            "googletest.h",
 | 
						|
            "gtest-creator-printing.cpp",
 | 
						|
            "gtest-creator-printing.h",
 | 
						|
            "gtest-llvm-printing.h",
 | 
						|
            "gtest-qt-printing.cpp",
 | 
						|
            "gtest-qt-printing.h",
 | 
						|
            "headerpathfilter-test.cpp",
 | 
						|
            "lineprefixer-test.cpp",
 | 
						|
            "locatorfilter-test.cpp",
 | 
						|
            "matchingtext-test.cpp",
 | 
						|
            "mimedatabase-utilities.cpp",
 | 
						|
            "mimedatabase-utilities.h",
 | 
						|
            "mockbuilddependenciesprovider.h",
 | 
						|
            "mockbuilddependenciesstorage.h",
 | 
						|
            "mockbuilddependencygenerator.h",
 | 
						|
            "mockclangcodemodelclient.h",
 | 
						|
            "mockclangcodemodelserver.h",
 | 
						|
            "mockclangpathwatcher.h",
 | 
						|
            "mockclangpathwatchernotifier.h",
 | 
						|
            "mockcppmodelmanager.h",
 | 
						|
            "mockeditormanager.h",
 | 
						|
            "mockfilepathcaching.h",
 | 
						|
            "mockfilepathstorage.h",
 | 
						|
            "mockfilesystem.h",
 | 
						|
            "mockfutureinterface.h",
 | 
						|
            "mockgeneratedfiles.h",
 | 
						|
            "mockmodifiedtimechecker.h",
 | 
						|
            "mockmutex.h",
 | 
						|
            "mockpchcreator.h",
 | 
						|
            "mockpchmanagerclient.h",
 | 
						|
            "mockpchmanagernotifier.h",
 | 
						|
            "mockpchmanagerserver.h",
 | 
						|
            "mockpchtaskgenerator.h",
 | 
						|
            "mockpchtaskqueue.h",
 | 
						|
            "mockpchtasksmerger.h",
 | 
						|
            "mockprecompiledheaderstorage.h",
 | 
						|
            "mockprocessor.h",
 | 
						|
            "mockprocessormanager.h",
 | 
						|
            "mockprogressmanager.h",
 | 
						|
            "mockprojectpartprovider.h",
 | 
						|
            "mockprojectpartqueue.h",
 | 
						|
            "mockprojectpartsmanager.h",
 | 
						|
            "mockprojectpartsstorage.h",
 | 
						|
            "mockqfilesystemwatcher.h",
 | 
						|
            "mockqueue.h",
 | 
						|
            "mocksearch.h",
 | 
						|
            "mocksearchhandle.h",
 | 
						|
            "mocksearchresult.h",
 | 
						|
            "mocksqlitedatabase.h",
 | 
						|
            "mocksqlitereadstatement.cpp",
 | 
						|
            "mocksqlitereadstatement.h",
 | 
						|
            "mocksqlitestatement.h",
 | 
						|
            "mocksqlitetransactionbackend.h",
 | 
						|
            "mocksqlitewritestatement.h",
 | 
						|
            "mocksymbolindexertaskqueue.h",
 | 
						|
            "mocksymbolindexing.h",
 | 
						|
            "mocksymbolquery.h",
 | 
						|
            "mocksymbolscollector.h",
 | 
						|
            "mocksymbolstorage.h",
 | 
						|
            "mocksyntaxhighligher.h",
 | 
						|
            "mocktaskscheduler.h",
 | 
						|
            "mocktimer.cpp",
 | 
						|
            "mocktimer.h",
 | 
						|
            "modifiedtimechecker-test.cpp",
 | 
						|
            "nativefilepath-test.cpp",
 | 
						|
            "nativefilepathview-test.cpp",
 | 
						|
            "pchmanagerclient-test.cpp",
 | 
						|
            "pchmanagerclientserverinprocess-test.cpp",
 | 
						|
            "pchmanagerserver-test.cpp",
 | 
						|
            "pchtaskgenerator-test.cpp",
 | 
						|
            "pchtaskqueue-test.cpp",
 | 
						|
            "pchtasksmerger-test.cpp",
 | 
						|
            "precompiledheaderstorage-test.cpp",
 | 
						|
            "preprocessormacrocollector-test.cpp",
 | 
						|
            "processcreator-test.cpp",
 | 
						|
            "processevents-utilities.cpp",
 | 
						|
            "processevents-utilities.h",
 | 
						|
            "processormanager-test.cpp",
 | 
						|
            "progresscounter-test.cpp",
 | 
						|
            "projectpartartefact-test.cpp",
 | 
						|
            "projectpartsmanager-test.cpp",
 | 
						|
            "projectpartsstorage-test.cpp",
 | 
						|
            "projectupdater-test.cpp",
 | 
						|
            "readandwritemessageblock-test.cpp",
 | 
						|
            "refactoringdatabaseinitializer-test.cpp",
 | 
						|
            "refactoringprojectupdater-test.cpp",
 | 
						|
            "rundocumentparse-utility.h",
 | 
						|
            "sizedarray-test.cpp",
 | 
						|
            "smallstring-test.cpp",
 | 
						|
            "sourcerangecontainer-matcher.h",
 | 
						|
            "sourcerangefilter-test.cpp",
 | 
						|
            "sourcesmanager-test.cpp",
 | 
						|
            "spydummy.cpp",
 | 
						|
            "spydummy.h",
 | 
						|
            "sqlitecolumn-test.cpp",
 | 
						|
            "sqlitedatabase-test.cpp",
 | 
						|
            "sqlitedatabasebackend-test.cpp",
 | 
						|
            "sqliteindex-test.cpp",
 | 
						|
            "sqlitestatement-test.cpp",
 | 
						|
            "sqlitetable-test.cpp",
 | 
						|
            "sqliteteststatement.h",
 | 
						|
            "sqlitetransaction-test.cpp",
 | 
						|
            "sqlitevalue-test.cpp",
 | 
						|
            "sqlstatementbuilder-test.cpp",
 | 
						|
            "stringcache-test.cpp",
 | 
						|
            "symbolindexer-test.cpp",
 | 
						|
            "symbolindexertaskqueue-test.cpp",
 | 
						|
            "symbolquery-test.cpp",
 | 
						|
            "symbolsfindfilter-test.cpp",
 | 
						|
            "symbolstorage-test.cpp",
 | 
						|
            "task.cpp",
 | 
						|
            "taskscheduler-test.cpp",
 | 
						|
            "testenvironment.h",
 | 
						|
            "toolchainargumentscache-test.cpp",
 | 
						|
            "unittest-utility-functions.h",
 | 
						|
            "unittests-main.cpp",
 | 
						|
            "usedmacrofilter-test.cpp",
 | 
						|
            "utf8-test.cpp",
 | 
						|
        "imagecache-test.cpp",
 | 
						|
        "imagecachegenerator-test.cpp",
 | 
						|
        "imagecachestorage-test.cpp",
 | 
						|
        "sqlitedatabasemock.h",
 | 
						|
        "sqlitereadstatementmock.h",
 | 
						|
        "sqlitestatementmock.h",
 | 
						|
        "sqlitetransactionbackendmock.h",
 | 
						|
        "sqlitewritestatementmock.h",
 | 
						|
        "notification.h",
 | 
						|
        "mocktimestampprovider.h",
 | 
						|
        "imagecachecollectormock.h",
 | 
						|
        "mockimagecachegenerator.h",
 | 
						|
        "mockimagecachestorage.h",
 | 
						|
        ]
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "libclang tests"
 | 
						|
            condition: libclang.present
 | 
						|
            files: [
 | 
						|
                "activationsequencecontextprocessor-test.cpp",
 | 
						|
                "activationsequenceprocessor-test.cpp",
 | 
						|
                "chunksreportedmonitor.cpp",
 | 
						|
                "chunksreportedmonitor.h",
 | 
						|
                "clangasyncjob-base.cpp",
 | 
						|
                "clangasyncjob-base.h",
 | 
						|
                "clangcodecompleteresults-test.cpp",
 | 
						|
                "clangcodemodelserver-test.cpp",
 | 
						|
                "clangcompareoperators.h",
 | 
						|
                "clangcompletecodejob-test.cpp",
 | 
						|
                "clangcompletioncontextanalyzer-test.cpp",
 | 
						|
                "clangdiagnosticfilter-test.cpp",
 | 
						|
                "clangdocument-test.cpp",
 | 
						|
                "clangdocumentprocessor-test.cpp",
 | 
						|
                "clangdocumentprocessors-test.cpp",
 | 
						|
                "clangdocuments-test.cpp",
 | 
						|
                "clangfixitoperation-test.cpp",
 | 
						|
                "clangfollowsymbol-test.cpp",
 | 
						|
                "clangisdiagnosticrelatedtolocation-test.cpp",
 | 
						|
                "clangjobqueue-test.cpp",
 | 
						|
                "clangjobs-test.cpp",
 | 
						|
                "clangparsesupportivetranslationunitjob-test.cpp",
 | 
						|
                "clangrequestannotationsjob-test.cpp",
 | 
						|
                "clangrequestreferencesjob-test.cpp",
 | 
						|
                "clangresumedocumentjob-test.cpp",
 | 
						|
                "clangstring-test.cpp",
 | 
						|
                "clangsupportivetranslationunitinitializer-test.cpp",
 | 
						|
                "clangsuspenddocumentjob-test.cpp",
 | 
						|
                "clangtooltipinfo-test.cpp",
 | 
						|
                "clangtranslationunit-test.cpp",
 | 
						|
                "clangtranslationunits-test.cpp",
 | 
						|
                "clangupdateannotationsjob-test.cpp",
 | 
						|
                "codecompleter-test.cpp",
 | 
						|
                "codecompletionsextractor-test.cpp",
 | 
						|
                "completionchunkstotextconverter-test.cpp",
 | 
						|
                "cursor-test.cpp",
 | 
						|
                "diagnostic-test.cpp",
 | 
						|
                "diagnosticcontainer-matcher.h",
 | 
						|
                "diagnosticset-test.cpp",
 | 
						|
                "fixit-test.cpp",
 | 
						|
                "gtest-clang-printing.cpp",
 | 
						|
                "gtest-clang-printing.h",
 | 
						|
                "highlightingresultreporter-test.cpp",
 | 
						|
                "readexporteddiagnostics-test.cpp",
 | 
						|
                "senddocumenttracker-test.cpp",
 | 
						|
                "skippedsourceranges-test.cpp",
 | 
						|
                "sourcelocation-test.cpp",
 | 
						|
                "sourcerange-test.cpp",
 | 
						|
                "token-test.cpp",
 | 
						|
                "tokenprocessor-test.cpp",
 | 
						|
                "translationunitupdater-test.cpp",
 | 
						|
                "unsavedfile-test.cpp",
 | 
						|
                "unsavedfiles-test.cpp",
 | 
						|
                "utf8positionfromlinecolumn-test.cpp",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "clang tooling tests"
 | 
						|
            condition: libclang.present && libclang.toolingEnabled
 | 
						|
            files: [
 | 
						|
                "builddependencycollector-test.cpp",
 | 
						|
                "clangdocumentsuspenderresumer-test.cpp",
 | 
						|
                "clangquery-test.cpp",
 | 
						|
                "clangquerygatherer-test.cpp",
 | 
						|
                "clangqueryprojectfindfilter-test.cpp",
 | 
						|
                "clangreferencescollector-test.cpp",
 | 
						|
                "gtest-llvm-printing.cpp",
 | 
						|
                "mockrefactoringclient.h",
 | 
						|
                "mockrefactoringserver.h",
 | 
						|
                "pchcreator-test.cpp",
 | 
						|
                "refactoringclient-test.cpp",
 | 
						|
                "refactoringclientserverinprocess-test.cpp",
 | 
						|
                "refactoringcompilationdatabase-test.cpp",
 | 
						|
                "refactoringengine-test.cpp",
 | 
						|
                "refactoringserver-test.cpp",
 | 
						|
                "sourcerangeextractor-test.cpp",
 | 
						|
                "symbolindexing-test.cpp",
 | 
						|
                "symbolscollector-test.cpp",
 | 
						|
                "testclangtool.cpp",
 | 
						|
                "testclangtool.h",
 | 
						|
                "usedmacrocollector-test.cpp",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "ClangFormat tests"
 | 
						|
            condition: libclang.present
 | 
						|
                       && libclang.llvmFormattingLibs.length
 | 
						|
                       && (!qbs.targetOS.contains("windows") || libclang.llvmBuildModeMatches)
 | 
						|
            files: "clangformat-test.cpp"
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "benchmark test"
 | 
						|
            condition: benchmark.present
 | 
						|
            files: "smallstring-benchmark.cpp"
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "data"
 | 
						|
            files: [
 | 
						|
                "data/*",
 | 
						|
                "data/include/*",
 | 
						|
            ]
 | 
						|
            fileTags: []
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "json.in file"
 | 
						|
            files: "../../../src/plugins/cpptools/CppTools.json.in"
 | 
						|
            fileTags: "pluginJsonIn"
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from pchmanager"
 | 
						|
            prefix: "../../../src/plugins/clangpchmanager/"
 | 
						|
            files: [
 | 
						|
                "clangindexingprojectsettings.cpp",
 | 
						|
                "clangindexingprojectsettings.h",
 | 
						|
                "clangindexingsettingsmanager.cpp",
 | 
						|
                "clangindexingsettingsmanager.h",
 | 
						|
                "clangpchmanager_global.h",
 | 
						|
                "pchmanagerclient.cpp",
 | 
						|
                "pchmanagerclient.h",
 | 
						|
                "pchmanagerconnectionclient.cpp",
 | 
						|
                "pchmanagerconnectionclient.h",
 | 
						|
                "pchmanagernotifierinterface.cpp",
 | 
						|
                "pchmanagernotifierinterface.h",
 | 
						|
                "pchmanagerprojectupdater.cpp",
 | 
						|
                "pchmanagerprojectupdater.h",
 | 
						|
                "preprocessormacrocollector.cpp",
 | 
						|
                "preprocessormacrocollector.h",
 | 
						|
                "progressmanager.h",
 | 
						|
                "progressmanagerinterface.h",
 | 
						|
                "projectupdater.cpp",
 | 
						|
                "projectupdater.h",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from pchmanager backend"
 | 
						|
            prefix: "../../../src/tools/clangpchmanagerbackend/source/"
 | 
						|
            files: [
 | 
						|
                "builddependenciesprovider.cpp",
 | 
						|
                "builddependenciesprovider.h",
 | 
						|
                "builddependenciesproviderinterface.h",
 | 
						|
                "builddependenciesstorage.h",
 | 
						|
                "builddependenciesstorageinterface.h",
 | 
						|
                "builddependency.h",
 | 
						|
                "builddependencygeneratorinterface.h",
 | 
						|
                "clangpchmanagerbackend_global.h",
 | 
						|
                "generatepchactionfactory.h",
 | 
						|
                "pchcreatorinterface.h",
 | 
						|
                "pchmanagerserver.cpp",
 | 
						|
                "pchmanagerserver.h",
 | 
						|
                "pchnotcreatederror.h",
 | 
						|
                "pchtask.h",
 | 
						|
                "pchtaskgenerator.cpp",
 | 
						|
                "pchtaskgenerator.h",
 | 
						|
                "pchtaskgeneratorinterface.h",
 | 
						|
                "pchtaskqueue.cpp",
 | 
						|
                "pchtaskqueue.h",
 | 
						|
                "pchtaskqueueinterface.h",
 | 
						|
                "pchtasksmerger.cpp",
 | 
						|
                "pchtasksmerger.h",
 | 
						|
                "pchtasksmergerinterface.h",
 | 
						|
                "precompiledheaderstorage.h",
 | 
						|
                "precompiledheaderstorageinterface.h",
 | 
						|
                "processorinterface.h",
 | 
						|
                "processormanagerinterface.h",
 | 
						|
                "projectpartsmanager.cpp",
 | 
						|
                "projectpartsmanager.h",
 | 
						|
                "projectpartsmanagerinterface.h",
 | 
						|
                "queueinterface.h",
 | 
						|
                "taskscheduler.h",
 | 
						|
                "taskschedulerinterface.h",
 | 
						|
                "toolchainargumentscache.h",
 | 
						|
                "usedmacrofilter.h",
 | 
						|
            ]
 | 
						|
 | 
						|
            Group {
 | 
						|
                name: "tooling sources from pchmanager backend"
 | 
						|
                condition: libclang.toolingEnabled
 | 
						|
                files: [
 | 
						|
                    "builddependencycollector.cpp",
 | 
						|
                    "builddependencycollector.h",
 | 
						|
                    "collectbuilddependencyaction.h",
 | 
						|
                    "collectbuilddependencypreprocessorcallbacks.h",
 | 
						|
                    "collectbuilddependencytoolaction.h",
 | 
						|
                    "collectusedmacroactionfactory.h",
 | 
						|
                    "collectusedmacrosaction.h",
 | 
						|
                    "collectusedmacrosandsourcespreprocessorcallbacks.h",
 | 
						|
                    "pchcreator.cpp",
 | 
						|
                    "pchcreator.h",
 | 
						|
                    "processormanager.h",
 | 
						|
                    "usedmacrosandsourcescollector.cpp",
 | 
						|
                    "usedmacrosandsourcescollector.h",
 | 
						|
                ]
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from clangrefactoring backend"
 | 
						|
            prefix: "../../../src/tools/clangrefactoringbackend/source/"
 | 
						|
            files: [
 | 
						|
                "clangrefactoringbackend_global.h",
 | 
						|
                "collectmacrospreprocessorcallbacks.h",
 | 
						|
                "projectpartentry.h",
 | 
						|
                "sourcedependency.h",
 | 
						|
                "sourcelocationentry.h",
 | 
						|
                "sourcerangefilter.cpp",
 | 
						|
                "sourcerangefilter.h",
 | 
						|
                "sourcesmanager.h",
 | 
						|
                "symbolentry.h",
 | 
						|
                "symbolindexer.cpp",
 | 
						|
                "symbolindexer.h",
 | 
						|
                "symbolindexertask.h",
 | 
						|
                "symbolindexertaskqueue.h",
 | 
						|
                "symbolindexertaskqueueinterface.h",
 | 
						|
                "symbolindexing.h",
 | 
						|
                "symbolindexinginterface.h",
 | 
						|
                "symbolscollectorinterface.h",
 | 
						|
                "symbolstorage.h",
 | 
						|
                "symbolstorageinterface.h",
 | 
						|
                "usedmacro.h",
 | 
						|
            ]
 | 
						|
 | 
						|
            Group {
 | 
						|
                name: "tooling sources from clangrefactoring backend"
 | 
						|
                condition: libclang.toolingEnabled
 | 
						|
                files: [
 | 
						|
                    "clangquery.cpp",
 | 
						|
                    "clangquery.h",
 | 
						|
                    "clangquerygatherer.cpp",
 | 
						|
                    "clangquerygatherer.h",
 | 
						|
                    "clangtool.cpp",
 | 
						|
                    "clangtool.h",
 | 
						|
                    "collectmacrossourcefilecallbacks.cpp",
 | 
						|
                    "collectmacrossourcefilecallbacks.h",
 | 
						|
                    "collectsymbolsaction.cpp",
 | 
						|
                    "collectsymbolsaction.h",
 | 
						|
                    "indexdataconsumer.cpp",
 | 
						|
                    "indexdataconsumer.h",
 | 
						|
                    "locationsourcefilecallbacks.cpp",
 | 
						|
                    "locationsourcefilecallbacks.h",
 | 
						|
                    "macropreprocessorcallbacks.cpp",
 | 
						|
                    "macropreprocessorcallbacks.h",
 | 
						|
                    "refactoringcompilationdatabase.cpp",
 | 
						|
                    "refactoringcompilationdatabase.h",
 | 
						|
                    "refactoringserver.cpp",
 | 
						|
                    "refactoringserver.h",
 | 
						|
                    "sourcelocationsutils.h",
 | 
						|
                    "sourcerangeextractor.cpp",
 | 
						|
                    "sourcerangeextractor.h",
 | 
						|
                    "symbolindexing.cpp",
 | 
						|
                    "symbolscollector.cpp",
 | 
						|
                    "symbolscollector.h",
 | 
						|
                    "symbolsvisitorbase.h",
 | 
						|
                ]
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from clangbackend"
 | 
						|
            condition: libclang.present
 | 
						|
            prefix: "../../../src/tools/clangbackend/source/"
 | 
						|
            files: [
 | 
						|
                "clangasyncjob.h",
 | 
						|
                "clangbackend_global.h",
 | 
						|
                "clangclock.h",
 | 
						|
                "clangcodecompleteresults.cpp",
 | 
						|
                "clangcodecompleteresults.h",
 | 
						|
                "clangcodemodelserver.cpp",
 | 
						|
                "clangcodemodelserver.h",
 | 
						|
                "clangcompletecodejob.cpp",
 | 
						|
                "clangcompletecodejob.h",
 | 
						|
                "clangdocument.cpp",
 | 
						|
                "clangdocument.h",
 | 
						|
                "clangdocumentjob.h",
 | 
						|
                "clangdocumentprocessor.cpp",
 | 
						|
                "clangdocumentprocessor.h",
 | 
						|
                "clangdocumentprocessors.cpp",
 | 
						|
                "clangdocumentprocessors.h",
 | 
						|
                "clangdocuments.cpp",
 | 
						|
                "clangdocuments.h",
 | 
						|
                "clangdocumentsuspenderresumer.cpp",
 | 
						|
                "clangdocumentsuspenderresumer.h",
 | 
						|
                "clangexceptions.cpp",
 | 
						|
                "clangexceptions.h",
 | 
						|
                "clangfilepath.cpp",
 | 
						|
                "clangfilepath.h",
 | 
						|
                "clangfilesystemwatcher.cpp",
 | 
						|
                "clangfilesystemwatcher.h",
 | 
						|
                "clangfollowsymbol.cpp",
 | 
						|
                "clangfollowsymbol.h",
 | 
						|
                "clangfollowsymboljob.cpp",
 | 
						|
                "clangfollowsymboljob.h",
 | 
						|
                "clangiasyncjob.cpp",
 | 
						|
                "clangiasyncjob.h",
 | 
						|
                "clangjobcontext.cpp",
 | 
						|
                "clangjobcontext.h",
 | 
						|
                "clangjobqueue.cpp",
 | 
						|
                "clangjobqueue.h",
 | 
						|
                "clangjobrequest.cpp",
 | 
						|
                "clangjobrequest.h",
 | 
						|
                "clangjobs.cpp",
 | 
						|
                "clangjobs.h",
 | 
						|
                "clangparsesupportivetranslationunitjob.cpp",
 | 
						|
                "clangparsesupportivetranslationunitjob.h",
 | 
						|
                "clangreferencescollector.cpp",
 | 
						|
                "clangreferencescollector.h",
 | 
						|
                "clangrequestannotationsjob.cpp",
 | 
						|
                "clangrequestannotationsjob.h",
 | 
						|
                "clangrequestreferencesjob.cpp",
 | 
						|
                "clangrequestreferencesjob.h",
 | 
						|
                "clangrequesttooltipjob.cpp",
 | 
						|
                "clangrequesttooltipjob.h",
 | 
						|
                "clangresumedocumentjob.cpp",
 | 
						|
                "clangresumedocumentjob.h",
 | 
						|
                "clangstring.h",
 | 
						|
                "clangsupportivetranslationunitinitializer.cpp",
 | 
						|
                "clangsupportivetranslationunitinitializer.h",
 | 
						|
                "clangsuspenddocumentjob.cpp",
 | 
						|
                "clangsuspenddocumentjob.h",
 | 
						|
                "clangtooltipinfocollector.cpp",
 | 
						|
                "clangtooltipinfocollector.h",
 | 
						|
                "clangtranslationunit.cpp",
 | 
						|
                "clangtranslationunit.h",
 | 
						|
                "clangtranslationunits.cpp",
 | 
						|
                "clangtranslationunits.h",
 | 
						|
                "clangtranslationunitupdater.cpp",
 | 
						|
                "clangtranslationunitupdater.h",
 | 
						|
                "clangtype.cpp",
 | 
						|
                "clangtype.h",
 | 
						|
                "clangunsavedfilesshallowarguments.cpp",
 | 
						|
                "clangunsavedfilesshallowarguments.h",
 | 
						|
                "clangupdateannotationsjob.cpp",
 | 
						|
                "clangupdateannotationsjob.h",
 | 
						|
                "clangupdateextraannotationsjob.cpp",
 | 
						|
                "clangupdateextraannotationsjob.h",
 | 
						|
                "codecompleter.cpp",
 | 
						|
                "codecompleter.h",
 | 
						|
                "codecompletionchunkconverter.cpp",
 | 
						|
                "codecompletionchunkconverter.h",
 | 
						|
                "codecompletionsextractor.cpp",
 | 
						|
                "codecompletionsextractor.h",
 | 
						|
                "commandlinearguments.cpp",
 | 
						|
                "commandlinearguments.h",
 | 
						|
                "cursor.cpp",
 | 
						|
                "cursor.h",
 | 
						|
                "diagnostic.cpp",
 | 
						|
                "diagnostic.h",
 | 
						|
                "diagnosticset.cpp",
 | 
						|
                "diagnosticset.h",
 | 
						|
                "diagnosticsetiterator.h",
 | 
						|
                "fixit.cpp",
 | 
						|
                "fixit.h",
 | 
						|
                "fulltokeninfo.cpp",
 | 
						|
                "fulltokeninfo.h",
 | 
						|
                "skippedsourceranges.cpp",
 | 
						|
                "skippedsourceranges.h",
 | 
						|
                "sourcelocation.cpp",
 | 
						|
                "sourcelocation.h",
 | 
						|
                "sourcerange.cpp",
 | 
						|
                "sourcerange.h",
 | 
						|
                "token.cpp",
 | 
						|
                "token.h",
 | 
						|
                "tokeninfo.cpp",
 | 
						|
                "tokeninfo.h",
 | 
						|
                "tokenprocessor.h",
 | 
						|
                "tokenprocessoriterator.h",
 | 
						|
                "unsavedfile.cpp",
 | 
						|
                "unsavedfile.h",
 | 
						|
                "unsavedfiles.cpp",
 | 
						|
                "unsavedfiles.h",
 | 
						|
                "utf8positionfromlinecolumn.cpp",
 | 
						|
                "utf8positionfromlinecolumn.h",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from clangsupport"
 | 
						|
            prefix: "../../../src/libs/clangsupport/"
 | 
						|
            files: [
 | 
						|
                "*.cpp",
 | 
						|
                "*.h",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from clangcodemodel"
 | 
						|
            prefix: "../../../src/plugins/clangcodemodel/"
 | 
						|
            files: [
 | 
						|
                "clangactivationsequencecontextprocessor.cpp",
 | 
						|
                "clangactivationsequencecontextprocessor.h",
 | 
						|
                "clangactivationsequenceprocessor.cpp",
 | 
						|
                "clangactivationsequenceprocessor.h",
 | 
						|
                "clangcompletionchunkstotextconverter.cpp",
 | 
						|
                "clangcompletionchunkstotextconverter.h",
 | 
						|
                "clangcompletioncontextanalyzer.cpp",
 | 
						|
                "clangcompletioncontextanalyzer.h",
 | 
						|
                "clangdiagnosticfilter.cpp",
 | 
						|
                "clangdiagnosticfilter.h",
 | 
						|
                "clangfixitoperation.cpp",
 | 
						|
                "clangfixitoperation.h",
 | 
						|
                "clanghighlightingresultreporter.cpp",
 | 
						|
                "clanghighlightingresultreporter.h",
 | 
						|
                "clangisdiagnosticrelatedtolocation.h",
 | 
						|
                "clanguiheaderondiskmanager.cpp",
 | 
						|
                "clanguiheaderondiskmanager.h",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from cpptools"
 | 
						|
            prefix: "../../../src/plugins/cpptools/"
 | 
						|
            files: [
 | 
						|
                "compileroptionsbuilder.cpp",
 | 
						|
                "compileroptionsbuilder.h",
 | 
						|
                "cppprojectfile.cpp",
 | 
						|
                "cppprojectfile.h",
 | 
						|
                "cppprojectfilecategorizer.cpp",
 | 
						|
                "cppprojectfilecategorizer.h",
 | 
						|
                "cppprojectinfogenerator.cpp",
 | 
						|
                "cppprojectpartchooser.cpp",
 | 
						|
                "cppprojectpartchooser.h",
 | 
						|
                "headerpathfilter.cpp",
 | 
						|
                "headerpathfilter.h",
 | 
						|
                "projectinfo.cpp",
 | 
						|
                "projectinfo.h",
 | 
						|
                "projectpart.cpp",
 | 
						|
                "projectpart.h",
 | 
						|
                "senddocumenttracker.cpp",
 | 
						|
                "senddocumenttracker.h",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from clangtools"
 | 
						|
            condition: libclang.present
 | 
						|
            prefix: "../../../src/plugins/clangtools/"
 | 
						|
            files: [
 | 
						|
                "clangtoolsdiagnostic.cpp",
 | 
						|
                "clangtoolsdiagnostic.h",
 | 
						|
                "clangtoolslogfilereader.cpp",
 | 
						|
                "clangtoolslogfilereader.h",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from clangdbpm"
 | 
						|
            prefix: "../../../src/plugins/compilationdatabaseprojectmanager/"
 | 
						|
            files: [
 | 
						|
                "compilationdatabaseutils.cpp",
 | 
						|
                "compilationdatabaseutils.h",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from ProjectExplorer"
 | 
						|
            prefix: "../../../src/plugins/projectexplorer/"
 | 
						|
            files: [
 | 
						|
                "projectmacro.cpp",
 | 
						|
                "projectmacro.h",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from ClangRefactoring"
 | 
						|
            prefix: "../../../src/plugins/clangrefactoring/"
 | 
						|
            files: [
 | 
						|
                "clangqueryexamplehighlighter.cpp",
 | 
						|
                "clangqueryexamplehighlighter.h",
 | 
						|
                "clangqueryexamplehighlightmarker.h",
 | 
						|
                "clangqueryhighlighter.cpp",
 | 
						|
                "clangqueryhighlighter.h",
 | 
						|
                "clangqueryhighlightmarker.h",
 | 
						|
                "clangqueryprojectsfindfilter.cpp",
 | 
						|
                "clangqueryprojectsfindfilter.h",
 | 
						|
                "clangsymbolsfindfilter.cpp",
 | 
						|
                "clangsymbolsfindfilter.h",
 | 
						|
                "editormanagerinterface.h",
 | 
						|
                "locatorfilter.cpp",
 | 
						|
                "locatorfilter.h",
 | 
						|
                "projectpartproviderinterface.h",
 | 
						|
                "projectpartutilities.cpp",
 | 
						|
                "projectpartutilities.h",
 | 
						|
                "refactoringclient.cpp",
 | 
						|
                "refactoringclient.h",
 | 
						|
                "refactoringconnectionclient.cpp",
 | 
						|
                "refactoringconnectionclient.h",
 | 
						|
                "refactoringengine.cpp",
 | 
						|
                "refactoringengine.h",
 | 
						|
                "refactoringprojectupdater.cpp",
 | 
						|
                "refactoringprojectupdater.h",
 | 
						|
                "searchhandle.cpp",
 | 
						|
                "searchhandle.h",
 | 
						|
                "searchinterface.h",
 | 
						|
                "symbol.h",
 | 
						|
                "symbolqueryinterface.h",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from ClangFormat"
 | 
						|
            prefix: "../../../src/plugins/clangformat/"
 | 
						|
            condition: libclang.present
 | 
						|
                       && libclang.llvmFormattingLibs.length
 | 
						|
                       && (!qbs.targetOS.contains("windows") || libclang.llvmBuildModeMatches)
 | 
						|
            files: [
 | 
						|
                "clangformatbaseindenter.cpp",
 | 
						|
                "clangformatbaseindenter.h",
 | 
						|
                "clangformatconstants.h",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Group {
 | 
						|
            name: "sources from Debugger"
 | 
						|
            prefix: "../../../src/plugins/debugger/analyzer/"
 | 
						|
            files: [
 | 
						|
                "diagnosticlocation.cpp",
 | 
						|
                "diagnosticlocation.h",
 | 
						|
            ]
 | 
						|
        }
 | 
						|
 | 
						|
        Rule {
 | 
						|
            inputs: "qt_plugin_metadata"
 | 
						|
            Artifact {
 | 
						|
                filePath: FileInfo.joinPaths(product.destinationDirectory, "CppTools.json")
 | 
						|
                fileTags: "json_copy"
 | 
						|
            }
 | 
						|
            prepare: {
 | 
						|
                var cmd = new JavaScriptCommand;
 | 
						|
                cmd.description = "copying " + input.fileName;
 | 
						|
                cmd.sourceCode = function() { File.copy(input.filePath, output.filePath); };
 | 
						|
                return cmd;
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |