diff options
author | Jake Petroules <jake.petroules@qt.io> | 2017-06-20 10:58:15 -0700 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2017-06-21 16:01:53 +0000 |
commit | 1913b32bd828c53f6845ed00dae99512e8d81321 (patch) | |
tree | 491848a54a45e5d8ce026718605763a9526ea1e4 | |
parent | e4ea8f3ac7e473c227bc54ea26ae9a6fd3da1675 (diff) |
Fix tests with older versions of Apple Clang
Amends and fixes a regression introduced in 4551d11.
Change-Id: I8014c8bfb82c389d4ae741f868be45e420e327ca
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
7 files changed, 22 insertions, 2 deletions
diff --git a/share/qbs/modules/cpp/DarwinGCC.qbs b/share/qbs/modules/cpp/DarwinGCC.qbs index b985e6862..fd276e554 100644 --- a/share/qbs/modules/cpp/DarwinGCC.qbs +++ b/share/qbs/modules/cpp/DarwinGCC.qbs @@ -50,8 +50,7 @@ UnixGCC { imageFormat: "macho" compilerDefines: ["__GNUC__=4", "__APPLE__"] - cxxStandardLibrary: qbs.toolchain.contains("clang") && cxxLanguageVersion !== "c++98" - ? "libc++" : base + cxxStandardLibrary: libcxxAvailable ? "libc++" : base loadableModulePrefix: "" loadableModuleSuffix: ".bundle" dynamicLibrarySuffix: ".dylib" @@ -179,6 +178,8 @@ UnixGCC { property string minimumDarwinVersionCompilerFlag property string minimumDarwinVersionLinkerFlag + property bool libcxxAvailable: qbs.toolchain.contains("clang") && cxxLanguageVersion !== "c++98" + Rule { condition: product.aggregate inputsFromDependencies: ["application"] diff --git a/share/qbs/modules/cpp/ios-gcc.qbs b/share/qbs/modules/cpp/ios-gcc.qbs index 8518ca76a..12f3907b6 100644 --- a/share/qbs/modules/cpp/ios-gcc.qbs +++ b/share/qbs/modules/cpp/ios-gcc.qbs @@ -33,6 +33,7 @@ import qbs.DarwinTools import qbs.File import qbs.FileInfo import qbs.ModUtils +import qbs.Utilities DarwinGCC { condition: qbs.targetOS.contains('ios') && @@ -48,6 +49,10 @@ DarwinGCC { ? "-ios_simulator_version_min" : "-iphoneos_version_min" + libcxxAvailable: base + && minimumDarwinVersion + && Utilities.versionCompare(minimumDarwinVersion, "5") >= 0 + platformObjcFlags: base.concat(simulatorObjcFlags) platformObjcxxFlags: base.concat(simulatorObjcFlags) diff --git a/share/qbs/modules/cpp/macos-gcc.qbs b/share/qbs/modules/cpp/macos-gcc.qbs index eb5dc3d41..bb1f79054 100644 --- a/share/qbs/modules/cpp/macos-gcc.qbs +++ b/share/qbs/modules/cpp/macos-gcc.qbs @@ -30,6 +30,7 @@ import qbs 1.0 import qbs.ModUtils +import qbs.Utilities DarwinGCC { condition: qbs.targetOS.contains('macos') && @@ -40,4 +41,8 @@ DarwinGCC { minimumDarwinVersion: minimumMacosVersion minimumDarwinVersionCompilerFlag: "-mmacosx-version-min" minimumDarwinVersionLinkerFlag: "-macosx_version_min" + + libcxxAvailable: base + && minimumDarwinVersion + && Utilities.versionCompare(minimumDarwinVersion, "10.7") >= 0 } diff --git a/tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs b/tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs index a974e93e5..f34307bf1 100644 --- a/tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs +++ b/tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs @@ -11,6 +11,7 @@ Project { targetName: "singleapp" files: ["app.c"] cpp.rpaths: qbs.targetOS.contains("darwin") ? ["@loader_path/../../../"] : [] + cpp.minimumMacosVersion: "10.5" // Turn off multiplexing aggregate: false @@ -30,6 +31,7 @@ Project { targetName: "singleapp_agg" files: ["app.c"] cpp.rpaths: qbs.targetOS.contains("darwin") ? ["@loader_path/../../../"] : [] + cpp.minimumMacosVersion: "10.5" // Force aggregation when not needed aggregate: true @@ -70,6 +72,7 @@ Project { targetName: "multiapp" files: ["app.c"] cpp.rpaths: qbs.targetOS.contains("darwin") ? ["@loader_path/../../../"] : [] + cpp.minimumMacosVersion: "10.5" Group { fileTagsFilter: ["bundle.content"] @@ -85,6 +88,7 @@ Project { targetName: "fatmultiapp" files: ["app.c"] cpp.rpaths: qbs.targetOS.contains("darwin") ? ["@loader_path/../../../"] : [] + cpp.minimumMacosVersion: "10.5" qbs.architectures: ["x86", "x86_64"] Group { diff --git a/tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs b/tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs index 93d94c66b..87c0aaa36 100644 --- a/tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs +++ b/tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs @@ -9,6 +9,7 @@ Project { files: ["main.m"] cpp.frameworks: ["Foundation"] cpp.rpaths: ["@loader_path"] + cpp.minimumMacosVersion: "10.5" bundle.infoPlist: ({ "QBS": "org.qt-project.qbs.testdata.embedInfoPlist" }) diff --git a/tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs b/tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs index 2cdf9f3f0..677828906 100644 --- a/tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs +++ b/tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs @@ -6,6 +6,7 @@ CppApplication { lex_yacc.yaccFlags: ["-l"] cpp.includePaths: ["."] cpp.cxxLanguageVersion: "c++11" + cpp.minimumMacosVersion: "10.7" consoleApplication: true files: [ "lexer.l", diff --git a/tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs b/tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs index 4770a8290..95adaa4ba 100644 --- a/tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs +++ b/tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs @@ -28,6 +28,7 @@ Project { return ["WEAK_IMPORT=", installLib]; } cpp.cxxLanguageVersion: "c++11" + cpp.minimumMacosVersion: "10.5" cpp.rpaths: qbs.targetOS.contains("darwin") ? ["@loader_path/../lib"] : ["$ORIGIN/../lib"] Group { @@ -46,6 +47,7 @@ Project { name: "functions" files: ["lib.cpp"] cpp.cxxLanguageVersion: "c++11" + cpp.minimumMacosVersion: "10.5" cpp.rpaths: qbs.targetOS.contains("darwin") ? ["@loader_path"] : ["$ORIGIN"] Properties { @@ -85,6 +87,7 @@ Project { name: "indirect" files: ["indirect.cpp"] cpp.cxxLanguageVersion: "c++11" + cpp.minimumMacosVersion: "10.5" Properties { condition: qbs.targetOS.contains("darwin") |