diff options
-rw-r--r-- | doc/reference/modules/cpp-module.qdoc | 4 | ||||
-rw-r--r-- | share/qbs/modules/cpp/MingwBaseModule.qbs | 1 | ||||
-rw-r--r-- | share/qbs/modules/cpp/gcc.js | 2 |
3 files changed, 5 insertions, 2 deletions
diff --git a/doc/reference/modules/cpp-module.qdoc b/doc/reference/modules/cpp-module.qdoc index 936c7373b..6eea7d9e3 100644 --- a/doc/reference/modules/cpp-module.qdoc +++ b/doc/reference/modules/cpp-module.qdoc @@ -1069,9 +1069,9 @@ If this property is set to \c{undefined}, the default runtime library of the toolchain is used. - \note This property is only functional for MSVC. + \note This property is only functional for MSVC and MinGW. - \defaultvalue \c{"dynamic"} for MSVC, \c{undefined} for other compilers. + \defaultvalue \c{"dynamic"} for MSVC and MinGW, \c{undefined} for other compilers. */ /*! diff --git a/share/qbs/modules/cpp/MingwBaseModule.qbs b/share/qbs/modules/cpp/MingwBaseModule.qbs index 831512c5c..e96f8ba41 100644 --- a/share/qbs/modules/cpp/MingwBaseModule.qbs +++ b/share/qbs/modules/cpp/MingwBaseModule.qbs @@ -44,6 +44,7 @@ GenericGCC { windowsApiCharacterSet: "unicode" platformDefines: base.concat(WindowsUtils.characterSetDefines(windowsApiCharacterSet)) .concat("WIN32") + runtimeLibrary: "dynamic" Properties { condition: product.multiplexByQbsProperties.contains("buildVariants") diff --git a/share/qbs/modules/cpp/gcc.js b/share/qbs/modules/cpp/gcc.js index 13cdb4a3d..cfcaafb76 100644 --- a/share/qbs/modules/cpp/gcc.js +++ b/share/qbs/modules/cpp/gcc.js @@ -529,6 +529,8 @@ function linkerFlags(project, product, inputs, outputs, primaryOutput, linkerPat Array.prototype.push.apply(escapedLinkerFlags, args); if (useCompilerDriver) escapedLinkerFlags = escapedLinkerFlags.concat(Cpp.collectMiscLinkerArguments(product)); + if (product.qbs.toolchain.contains("mingw") && product.cpp.runtimeLibrary === "static") + escapedLinkerFlags = ['-static-libgcc', '-static-libstdc++'].concat(escapedLinkerFlags); return escapedLinkerFlags; } |