// base for Cpp modules Module { condition: false property string warningLevel : 'all' // 'none', 'all' property bool treatWarningsAsErrors : false property string architecture: qbs.architecture property string optimization: qbs.optimization property bool debugInformation: qbs.debugInformation property pathList prefixHeaders property path precompiledHeader property path cPrecompiledHeader: precompiledHeader property path cxxPrecompiledHeader: precompiledHeader // ### default to undefined on non-Apple platforms for now - QBS-346 property path objcPrecompiledHeader: qbs.targetOS.contains("darwin") ? precompiledHeader : undefined property path objcxxPrecompiledHeader: qbs.targetOS.contains("darwin") ? precompiledHeader : undefined property path precompiledHeaderDir: product.buildDirectory property stringList defines property stringList platformDefines: qbs.enableDebugCode ? [] : ["NDEBUG"] property stringList compilerDefines PropertyOptions { name: "compilerDefines" description: "preprocessor macros that are defined when using this particular compiler" } property string windowsApiCharacterSet property string minimumWindowsVersion PropertyOptions { name: "minimumWindowsVersion" description: "A version number in the format [major].[minor] indicating the earliest \ version of Windows that the product should run on. Defines WINVER, \ _WIN32_WINNT, and _WIN32_WINDOWS, and applies a version number to the \ linker flags /SUBSYSTEM and /OSVERSION for MSVC or \ -Wl,--major-subsystem-version, -Wl,--minor-subsystem-version, \ -Wl,--major-os-version and -Wl,--minor-os-version for MinGW. \ If undefined, compiler defaults will be used." } property string minimumOsxVersion PropertyOptions { name: "minimumOsxVersion" description: "a version number in the format [major].[minor] indicating the earliest \ version of OS X that the product should run on. passes -mmacosx-version-min= \ to the compiler. if undefined, compiler defaults will be used." } property string minimumIosVersion PropertyOptions { name: "minimumIosVersion" description: "a version number in the format [major].[minor] indicating the earliest \ version of iOS that the product should run on. passes -miphoneos-version-min= \ to the compiler. if undefined, compiler defaults will be used." } property string minimumAndroidVersion PropertyOptions { name: "minimumAndroidVersion" description: "a version number in the format [major].[minor] indicating the earliest \ version of Android that the product should run on. this value is converted into an SDK \ version which is then written to AndroidManifest.xml." } property string maximumAndroidVersion PropertyOptions { name: "maximumAndroidVersion" description: "a version number in the format [major].[minor] indicating the latest \ version of Android that the product should run on. this value is converted into an SDK \ version which is then written to AndroidManifest.xml. if undefined, no upper limit will \ be set." } property string installNamePrefix PropertyOptions { name: "installNamePrefix" description: "The prefix for the internal install name (LC_ID_DYLIB) of an OS X dynamic\ library." } property pathList includePaths property pathList systemIncludePaths property pathList libraryPaths property pathList frameworkPaths property pathList systemFrameworkPaths property pathList linkerScripts property string compilerName property string compilerPath: compilerName property var compilerPathByLanguage property stringList compilerWrapper property string linkerName property string linkerPath: linkerName property string staticLibraryPrefix property string dynamicLibraryPrefix property string executablePrefix property string staticLibrarySuffix property string dynamicLibrarySuffix property stringList supportedStaticLibrarySuffixes: [staticLibrarySuffix] property string executableSuffix property bool createSymlinks: true property stringList dynamicLibraries // list of names, will be linked with -lname property stringList staticLibraries // list of static library files property stringList frameworks // list of frameworks, will be linked with '-framework ' property stringList weakFrameworks // list of weakly-linked frameworks, will be linked with '-weak_framework ' property stringList rpaths property bool useRPaths: true property stringList cppFlags PropertyOptions { name: "cppFlags" description: "additional flags for the C preprocessor" } property stringList cFlags PropertyOptions { name: "cFlags" description: "additional flags for the C compiler" } property stringList cxxFlags PropertyOptions { name: "cxxFlags" description: "additional flags for the C++ compiler" } property stringList objcFlags PropertyOptions { name: "objcFlags" description: "additional flags for the Objective-C compiler" } property stringList objcxxFlags PropertyOptions { name: "objcxxFlags" description: "additional flags for the Objective-C++ compiler" } property stringList commonCompilerFlags PropertyOptions { name: "commonCompilerFlags" description: "flags added to all compilation independently of the language" } property stringList linkerFlags PropertyOptions { name: "linkerFlags" description: "additional linker flags" } property bool positionIndependentCode PropertyOptions { name: "positionIndependentCode" description: "generate position independent code" } property string entryPoint PropertyOptions { name: "entryPoint" description: "entry point symbol for an executable or dynamic library" } property string visibility: 'default' PropertyOptions { name: "visibility" description: "export symbols visibility level" allowedValues: ['default', 'hidden', 'hiddenInlines', 'minimal'] } // Platform properties. Those are intended to be set by the toolchain setup // and are prepended to the corresponding user properties. property stringList platformCommonCompilerFlags property stringList platformCFlags property stringList platformCxxFlags property stringList platformObjcFlags property stringList platformObjcxxFlags property stringList platformLinkerFlags // OS X and iOS properties property path infoPlistFile property var infoPlist property bool processInfoPlist: true property bool embedInfoPlist: product.type.contains("application") property string infoPlistFormat: { if (qbs.targetOS.contains("osx")) return infoPlistFile ? "same-as-input" : "xml1" else if (qbs.targetOS.contains("ios")) return "binary1" } property bool buildDsym: qbs.buildVariant === "release" property bool buildIpa: !qbs.targetOS.contains('ios-simulator') property string signingIdentity property path provisioningProfile property string xcodeSdkName property string xcodeSdkVersion property bool allowUnresolvedSymbols: false FileTagger { patterns: ["*.c"] fileTags: ["c"] } FileTagger { patterns: ["*.C", "*.cpp", "*.cxx", "*.c++", "*.cc"] fileTags: ["cpp"] } FileTagger { patterns: ["*.m"] fileTags: ["objc"] } FileTagger { patterns: ["*.mm"] fileTags: ["objcpp"] } FileTagger { patterns: ["*.h", "*.H", "*.hpp", "*.hxx", "*.h++"] fileTags: ["hpp"] } }