aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/CppModule.qbs
diff options
context:
space:
mode:
Diffstat (limited to 'share/qbs/modules/cpp/CppModule.qbs')
-rw-r--r--share/qbs/modules/cpp/CppModule.qbs75
1 files changed, 75 insertions, 0 deletions
diff --git a/share/qbs/modules/cpp/CppModule.qbs b/share/qbs/modules/cpp/CppModule.qbs
new file mode 100644
index 000000000..f4204dad1
--- /dev/null
+++ b/share/qbs/modules/cpp/CppModule.qbs
@@ -0,0 +1,75 @@
+// base for Cpp modules
+
+Module {
+ condition: false
+ additionalProductFileTags: ["hpp"] // to include all rules that generate hpp files
+
+ 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 string precompiledHeader
+ property paths precompiledHeaderDir: [product.buildDirectory]
+ property var defines
+ property paths includePaths
+ property paths libraryPaths
+ property paths frameworkPaths
+ property var compilerFlags
+ property string compilerPath
+ // ### same separation in msvc?
+ property var dynamicLibraries // list of names, will be linked with -lname
+ property var staticLibraries // list of static library files
+ property var frameworks // list of frameworks, will be linked with '-framework <name>'
+ property var rpaths
+
+ FileTagger {
+ pattern: "*.c"
+ fileTags: ["c"]
+ }
+
+ FileTagger {
+ pattern: "*.C"
+ fileTags: ["c"]
+ }
+
+ FileTagger {
+ pattern: "*.cpp"
+ fileTags: ["cpp"]
+ }
+
+ FileTagger {
+ pattern: "*.cxx"
+ fileTags: ["cpp"]
+ }
+
+ FileTagger {
+ pattern: "*.c++"
+ fileTags: ["cpp"]
+ }
+
+ FileTagger {
+ pattern: "*.h"
+ fileTags: ["hpp"]
+ }
+
+ FileTagger {
+ pattern: "*.H"
+ fileTags: ["hpp"]
+ }
+
+ FileTagger {
+ pattern: "*.hpp"
+ fileTags: ["hpp"]
+ }
+
+ FileTagger {
+ pattern: "*.hxx"
+ fileTags: ["hpp"]
+ }
+
+ FileTagger {
+ pattern: "*.h++"
+ fileTags: ["hpp"]
+ }
+}