summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2019-04-16 22:32:03 +0800
committerruki <[email protected]>2019-04-16 09:12:22 +0800
commitad7e4fce0945c59cc2a5ed63b1db2085472bcfa3 (patch)
tree082147cff049be2f457836ed8da7069b08db72ed
parent935f788ee50dcb8c87a38360a56b51e54b75ce7b (diff)
fix set cxx17 bug for qt rules
-rw-r--r--CHANGELOG.md8
-rw-r--r--xmake/rules/qt/load.lua14
-rw-r--r--xmake/rules/qt/moc/xmake.lua2
3 files changed, 21 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5bcc2ae93..8ea8a7cec 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,10 @@
* [#382](https://github.com/xmake-io/xmake/issues/382): Simplify simple scope settings
* [#397](https://github.com/xmake-io/xmake/issues/397): Add clib package manager support
+### Bugs fixed
+
+* [#400](https://github.com/xmake-io/xmake/issues/400): fix c++ languages bug for qt rules
+
## v2.2.5
### New features
@@ -574,6 +578,10 @@
* [#382](https://github.com/xmake-io/xmake/issues/382): 简化域设置语法
* [#397](https://github.com/xmake-io/xmake/issues/397): 添加clib包集成支持
+### Bugs修复
+
+* [#400](https://github.com/xmake-io/xmake/issues/400): 修复qt项目c++语言标准设置无效问题
+
## v2.2.5
### 新特性
diff --git a/xmake/rules/qt/load.lua b/xmake/rules/qt/load.lua
index 638d61e56..e449a7c69 100644
--- a/xmake/rules/qt/load.lua
+++ b/xmake/rules/qt/load.lua
@@ -71,8 +71,18 @@ function main(target, opt)
target:add("mxflags", "-fPIC")
target:add("asflags", "-fPIC")
- -- need c++11
- target:set("languages", "cxx11")
+ -- need c++11 at least
+ local languages = target:get("languages")
+ local cxxlang = false
+ for _, lang in ipairs(languages) do
+ if lang:startswith("cxx") or lang:startswith("c++") then
+ cxxlang = true
+ break
+ end
+ end
+ if not cxxlang then
+ target:add("languages", "cxx11")
+ end
-- add defines for the compile mode
if is_mode("debug") then
diff --git a/xmake/rules/qt/moc/xmake.lua b/xmake/rules/qt/moc/xmake.lua
index 4c9067f6b..9542ed7e8 100644
--- a/xmake/rules/qt/moc/xmake.lua
+++ b/xmake/rules/qt/moc/xmake.lua
@@ -25,7 +25,7 @@ rule("qt.moc")
add_deps("qt.env")
-- set extensions
- set_extensions(".h")
+ set_extensions(".h", ".hpp")
-- before load
before_load(function (target)