diff options
| -rw-r--r-- | xmake/modules/detect/tools/cl/has_flags.lua | 3 | ||||
| -rw-r--r-- | xmake/modules/detect/tools/gcc/has_flags.lua | 3 | ||||
| -rw-r--r-- | xmake/rules/c++/modules/modules_support/clang.lua | 4 |
3 files changed, 6 insertions, 4 deletions
diff --git a/xmake/modules/detect/tools/cl/has_flags.lua b/xmake/modules/detect/tools/cl/has_flags.lua index ceb3561d4..fe57e38b0 100644 --- a/xmake/modules/detect/tools/cl/has_flags.lua +++ b/xmake/modules/detect/tools/cl/has_flags.lua @@ -83,7 +83,8 @@ end function main(flags, opt) -- attempt to check it from the argument list - if _check_from_arglist(flags, opt) then + opt = opt or {} + if not opt.tryrun and _check_from_arglist(flags, opt) then return true end diff --git a/xmake/modules/detect/tools/gcc/has_flags.lua b/xmake/modules/detect/tools/gcc/has_flags.lua index f7cf1d29e..b8e63423a 100644 --- a/xmake/modules/detect/tools/gcc/has_flags.lua +++ b/xmake/modules/detect/tools/gcc/has_flags.lua @@ -101,10 +101,11 @@ end function main(flags, opt) -- is linker? + opt = opt or {} local islinker = _islinker(flags, opt) -- attempt to check it from the argument list - if _check_from_arglist(flags, opt, islinker) then + if not opt.tryrun and _check_from_arglist(flags, opt, islinker) then return true end diff --git a/xmake/rules/c++/modules/modules_support/clang.lua b/xmake/rules/c++/modules/modules_support/clang.lua index 0095444ed..b00d059b9 100644 --- a/xmake/rules/c++/modules/modules_support/clang.lua +++ b/xmake/rules/c++/modules/modules_support/clang.lua @@ -371,8 +371,8 @@ function has_headerunitsupport(target) local support_headerunits = _g.support_headerunits if support_headerunits == nil then local compinst = target:compiler("cxx") - if compinst:has_flags("-x c++-user-header", "cxxflags", {flagskey = "clang_user_header_unit_support"}) and - compinst:has_flags("-x c++-system-header", "cxxflags", {flagskey = "clang_system_header_unit_support"}) then + if compinst:has_flags("-x c++-user-header", "cxxflags", {flagskey = "clang_user_header_unit_support", tryrun = true}) and + compinst:has_flags("-x c++-system-header", "cxxflags", {flagskey = "clang_system_header_unit_support", tryrun = true}) then support_headerunits = true end _g.support_headerunits = support_headerunits or false |
