aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-07-17 16:05:47 +0200
committerJoerg Bornemann <joerg.bornemann@digia.com>2014-07-18 10:58:29 +0200
commit22c5846e6cf12787439ea70ec7ee25b71fd82573 (patch)
tree4afd2acde4c692be0f1b212d511d53deab00261f /share/qbs/modules/cpp
parentdce309bf4e18cc20f3f9b03fbd33f63f5c60d025 (diff)
Cpp module: Fix "visibility" property.
The GCC visibility options can be combined. Change-Id: I9fe5c9bb80f2fcc97cd5a5bc0651314ecd180e51 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'share/qbs/modules/cpp')
-rw-r--r--share/qbs/modules/cpp/CppModule.qbs4
-rw-r--r--share/qbs/modules/cpp/gcc.js4
2 files changed, 4 insertions, 4 deletions
diff --git a/share/qbs/modules/cpp/CppModule.qbs b/share/qbs/modules/cpp/CppModule.qbs
index 5271c6fa9..298c1b803 100644
--- a/share/qbs/modules/cpp/CppModule.qbs
+++ b/share/qbs/modules/cpp/CppModule.qbs
@@ -157,11 +157,11 @@ Module {
description: "entry point symbol for an executable or dynamic library"
}
- property string visibility: 'default' // 'default', 'hidden', 'hiddenInlines'
+ property string visibility: 'default'
PropertyOptions {
name: "visibility"
description: "export symbols visibility level"
- allowedValues: ['default', 'hidden', 'hiddenInlines']
+ allowedValues: ['default', 'hidden', 'hiddenInlines', 'minimal']
}
// Platform properties. Those are intended to be set by the toolchain setup
diff --git a/share/qbs/modules/cpp/gcc.js b/share/qbs/modules/cpp/gcc.js
index f10ae9bd0..3d415c0e6 100644
--- a/share/qbs/modules/cpp/gcc.js
+++ b/share/qbs/modules/cpp/gcc.js
@@ -281,9 +281,9 @@ function prepareCompiler(project, product, inputs, outputs, input, output) {
var visibility = ModUtils.moduleProperty(product, 'visibility');
if (!product.type.contains('staticlibrary')
&& !product.moduleProperty("qbs", "toolchain").contains("mingw")) {
- if (visibility === 'hidden')
+ if (visibility === 'hidden' || visibility === 'minimal')
args.push('-fvisibility=hidden');
- if (visibility === 'hiddenInlines')
+ if (visibility === 'hiddenInlines' || visibility === 'minimal')
args.push('-fvisibility-inlines-hidden');
if (visibility === 'default')
args.push('-fvisibility=default')