forked from qt-creator/qt-creator
		
	Change-Id: I2cd02d94fb886bb49c66fa2508a63dc3480a7c23 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
		
			
				
	
	
		
			828 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			QML
		
	
	
	
	
	
			
		
		
	
	
			828 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			QML
		
	
	
	
	
	
import qbs.File
 | 
						|
import qbs.FileInfo
 | 
						|
 | 
						|
CppApplication {
 | 
						|
    condition: gtest.present && gmock.present
 | 
						|
    type: base.concat("autotest")
 | 
						|
    consoleApplication: true
 | 
						|
    destinationDirectory: FileInfo.joinPaths(project.buildDirectory,
 | 
						|
        FileInfo.relativePath(project.ide_source_tree, sourceDirectory))
 | 
						|
 | 
						|
    Depends { name: "echoserver" }
 | 
						|
    Depends { name: "pluginjson" }
 | 
						|
    Depends { name: "libclang"; required: false }
 | 
						|
    Depends { name: "clang_defines" }
 | 
						|
 | 
						|
    Depends { name: "Sqlite" }
 | 
						|
    Depends { name: "Core" }
 | 
						|
    Depends { name: "CPlusPlus" }
 | 
						|
    Depends { name: "yaml-cpp" }
 | 
						|
 | 
						|
    Depends { name: "Qt"; submodules: ["network", "widgets", "testlib"] }
 | 
						|
 | 
						|
    Depends { name: "pkgconfig" }
 | 
						|
    Depends { name: "benchmark"; required: false }
 | 
						|
    Depends { name: "gtest"; required: false }
 | 
						|
    Depends { name: "gmock"; required: false }
 | 
						|
 | 
						|
    cpp.defines: {
 | 
						|
        var defines = [
 | 
						|
            "QT_NO_CAST_TO_ASCII",
 | 
						|
            "QT_RESTRICTED_CAST_FROM_ASCII",
 | 
						|
            "QT_USE_FAST_OPERATOR_PLUS",
 | 
						|
            "QT_USE_FAST_CONCATENATION",
 | 
						|
            "CLANG_UNIT_TESTS",
 | 
						|
            "UNIT_TESTS",
 | 
						|
            "DONT_CHECK_MESSAGE_COUNTER",
 | 
						|
            'QTC_RESOURCE_DIR="' + FileInfo.joinPaths(project.sourceDirectory, "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 && 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++14"
 | 
						|
    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",
 | 
						|
        ];
 | 
						|
        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",
 | 
						|
    ]
 | 
						|
 | 
						|
    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",
 | 
						|
            "highlightingresultreporter-test.cpp",
 | 
						|
            "readexporteddiagnostics-test.cpp",
 | 
						|
            "senddocumenttracker-test.cpp",
 | 
						|
            "skippedsourceranges-test.cpp",
 | 
						|
            "sourcelocation-test.cpp",
 | 
						|
            "sourcerange-test.cpp",
 | 
						|
            "token-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-clang-printing.cpp",
 | 
						|
            "gtest-clang-printing.h",
 | 
						|
            "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",
 | 
						|
            "tokenprocessor-test.cpp",
 | 
						|
            "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/"
 | 
						|
        cpp.defines: outer.concat("CLANGPCHMANAGER_STATIC_LIB")
 | 
						|
        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/"
 | 
						|
        cpp.defines: outer.concat("CLANGSUPPORT_STATIC_LIB")
 | 
						|
        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/"
 | 
						|
        cpp.defines: outer.concat("CPPTOOLS_STATIC_LIBRARY")
 | 
						|
        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/"
 | 
						|
        cpp.defines: outer.concat("CLANGTOOLS_STATIC_LIBRARY")
 | 
						|
        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/"
 | 
						|
        cpp.defines: base.concat("PROJECTEXPLORER_STATIC_LIBRARY")
 | 
						|
        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",
 | 
						|
            "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",
 | 
						|
            "symbolsfindfilter.cpp",
 | 
						|
            "symbolsfindfilter.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/"
 | 
						|
        cpp.defines: outer.concat("DEBUGGER_STATIC_LIBRARY")
 | 
						|
        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;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
}
 |