diff options
| author | xq114 <[email protected]> | 2021-09-23 21:59:21 +0800 |
|---|---|---|
| committer | xq114 <[email protected]> | 2021-09-23 21:59:21 +0800 |
| commit | 6e5bd0a99336d5ef17e9b7c312d547b6a683d13e (patch) | |
| tree | 628cf31298c0554d98278af8cefb25c6719eb665 | |
| parent | fbccc2375dba05f227ff8e6ec0b61c9357ca449d (diff) | |
improve configvar_check_ functions
| -rw-r--r-- | xmake/includes/check_cflags.lua | 10 | ||||
| -rw-r--r-- | xmake/includes/check_cfuncs.lua | 10 | ||||
| -rw-r--r-- | xmake/includes/check_cincludes.lua | 10 | ||||
| -rw-r--r-- | xmake/includes/check_csnippets.lua | 10 | ||||
| -rw-r--r-- | xmake/includes/check_ctypes.lua | 10 | ||||
| -rw-r--r-- | xmake/includes/check_cxxflags.lua | 10 | ||||
| -rw-r--r-- | xmake/includes/check_cxxfuncs.lua | 10 | ||||
| -rw-r--r-- | xmake/includes/check_cxxincludes.lua | 10 | ||||
| -rw-r--r-- | xmake/includes/check_cxxsnippets.lua | 10 | ||||
| -rw-r--r-- | xmake/includes/check_cxxtypes.lua | 10 | ||||
| -rw-r--r-- | xmake/includes/check_features.lua | 10 | ||||
| -rw-r--r-- | xmake/includes/check_links.lua | 10 | ||||
| -rw-r--r-- | xmake/includes/check_syslinks.lua | 10 |
13 files changed, 104 insertions, 26 deletions
diff --git a/xmake/includes/check_cflags.lua b/xmake/includes/check_cflags.lua index 85ee65f8e..46758d0aa 100644 --- a/xmake/includes/check_cflags.lua +++ b/xmake/includes/check_cflags.lua @@ -53,7 +53,9 @@ function configvar_check_cflags(definition, flags, opt) local optname = "__" .. (opt.name or definition) local defname, defval = unpack(definition:split('=')) option(optname) - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end on_check(function (option) import("core.tool.compiler") if compiler.has_flags("c", flags, opt) then @@ -61,5 +63,9 @@ function configvar_check_cflags(definition, flags, opt) end end) option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end diff --git a/xmake/includes/check_cfuncs.lua b/xmake/includes/check_cfuncs.lua index 45b80519f..42d06e5ff 100644 --- a/xmake/includes/check_cfuncs.lua +++ b/xmake/includes/check_cfuncs.lua @@ -75,7 +75,9 @@ function configvar_check_cfuncs(definition, funcs, opt) local defname, defval = unpack(definition:split('=')) option(optname) add_cfuncs(funcs) - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end if opt.links then add_links(opt.links) end @@ -98,5 +100,9 @@ function configvar_check_cfuncs(definition, funcs, opt) set_warnings(opt.warnings) end option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end diff --git a/xmake/includes/check_cincludes.lua b/xmake/includes/check_cincludes.lua index 7f2727d77..ced7c33a5 100644 --- a/xmake/includes/check_cincludes.lua +++ b/xmake/includes/check_cincludes.lua @@ -54,7 +54,13 @@ function configvar_check_cincludes(definition, includes, opt) if opt.includedirs then add_includedirs(opt.includedirs) end - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end diff --git a/xmake/includes/check_csnippets.lua b/xmake/includes/check_csnippets.lua index 06fdc842e..3f7f853e5 100644 --- a/xmake/includes/check_csnippets.lua +++ b/xmake/includes/check_csnippets.lua @@ -84,7 +84,9 @@ function configvar_check_csnippets(definition, snippets, opt) local defname, defval = unpack(definition:split('=')) option(optname) add_csnippets(definition, snippets, {tryrun = opt.tryrun, output = opt.output}) - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end if opt.links then add_links(opt.links) end @@ -114,5 +116,9 @@ function configvar_check_csnippets(definition, snippets, opt) end) end option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end diff --git a/xmake/includes/check_ctypes.lua b/xmake/includes/check_ctypes.lua index d6bf77f82..934fc83b7 100644 --- a/xmake/includes/check_ctypes.lua +++ b/xmake/includes/check_ctypes.lua @@ -63,7 +63,9 @@ function configvar_check_ctypes(definition, types, opt) local defname, defval = unpack(definition:split('=')) option(optname) add_ctypes(types) - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end if opt.languages then set_languages(opt.languages) end @@ -80,5 +82,9 @@ function configvar_check_ctypes(definition, types, opt) add_cincludes(opt.includes) end option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end diff --git a/xmake/includes/check_cxxflags.lua b/xmake/includes/check_cxxflags.lua index c2881ecdc..36ca0ccd5 100644 --- a/xmake/includes/check_cxxflags.lua +++ b/xmake/includes/check_cxxflags.lua @@ -53,7 +53,9 @@ function configvar_check_cxxflags(definition, flags, opt) local optname = "__" .. (opt.name or definition) local defname, defval = unpack(definition:split('=')) option(optname) - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end on_check(function (option) import("core.tool.compiler") if compiler.has_flags("cxx", flags, opt) then @@ -61,5 +63,9 @@ function configvar_check_cxxflags(definition, flags, opt) end end) option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end diff --git a/xmake/includes/check_cxxfuncs.lua b/xmake/includes/check_cxxfuncs.lua index bef5d8252..426f51edb 100644 --- a/xmake/includes/check_cxxfuncs.lua +++ b/xmake/includes/check_cxxfuncs.lua @@ -75,7 +75,9 @@ function configvar_check_cxxfuncs(definition, funcs, opt) local defname, defval = unpack(definition:split('=')) option(optname) add_cxxfuncs(funcs) - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end if opt.links then add_links(opt.links) end @@ -98,5 +100,9 @@ function configvar_check_cxxfuncs(definition, funcs, opt) set_warnings(opt.warnings) end option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end diff --git a/xmake/includes/check_cxxincludes.lua b/xmake/includes/check_cxxincludes.lua index 4ef52b155..ed9ecd6cd 100644 --- a/xmake/includes/check_cxxincludes.lua +++ b/xmake/includes/check_cxxincludes.lua @@ -48,7 +48,13 @@ function configvar_check_cxxincludes(definition, includes, opt) local defname, defval = unpack(definition:split('=')) option(optname) add_cxxincludes(includes) - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end diff --git a/xmake/includes/check_cxxsnippets.lua b/xmake/includes/check_cxxsnippets.lua index 8f0f6f64d..6da696c03 100644 --- a/xmake/includes/check_cxxsnippets.lua +++ b/xmake/includes/check_cxxsnippets.lua @@ -84,7 +84,9 @@ function configvar_check_cxxsnippets(definition, snippets, opt) local defname, defval = unpack(definition:split('=')) option(optname) add_cxxsnippets(definition, snippets, {tryrun = opt.tryrun, output = opt.output}) - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end if opt.links then add_links(opt.links) end @@ -114,5 +116,9 @@ function configvar_check_cxxsnippets(definition, snippets, opt) end) end option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end diff --git a/xmake/includes/check_cxxtypes.lua b/xmake/includes/check_cxxtypes.lua index 859e26c4d..1428e1fba 100644 --- a/xmake/includes/check_cxxtypes.lua +++ b/xmake/includes/check_cxxtypes.lua @@ -63,7 +63,9 @@ function configvar_check_cxxtypes(definition, types, opt) local defname, defval = unpack(definition:split('=')) option(optname) add_cxxtypes(types) - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end if opt.languages then set_languages(opt.languages) end @@ -80,5 +82,9 @@ function configvar_check_cxxtypes(definition, types, opt) add_cxxincludes(opt.includes) end option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end diff --git a/xmake/includes/check_features.lua b/xmake/includes/check_features.lua index 1340d32f5..e837c485c 100644 --- a/xmake/includes/check_features.lua +++ b/xmake/includes/check_features.lua @@ -60,7 +60,9 @@ function configvar_check_features(definition, features, opt) local defname, defval = unpack(definition:split('=')) option(optname) add_features(features) - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end if opt.languages then set_languages(opt.languages) end @@ -74,5 +76,9 @@ function configvar_check_features(definition, features, opt) add_cxxflags(opt.cxxflags) end option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end diff --git a/xmake/includes/check_links.lua b/xmake/includes/check_links.lua index a17561f5e..40adb0193 100644 --- a/xmake/includes/check_links.lua +++ b/xmake/includes/check_links.lua @@ -48,7 +48,13 @@ function configvar_check_links(definition, links, opt) local defname, defval = unpack(definition:split('=')) option(optname) add_links(links) - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end diff --git a/xmake/includes/check_syslinks.lua b/xmake/includes/check_syslinks.lua index 0dab1fa7f..f7ac4a8df 100644 --- a/xmake/includes/check_syslinks.lua +++ b/xmake/includes/check_syslinks.lua @@ -48,7 +48,13 @@ function configvar_check_syslinks(definition, links, opt) local defname, defval = unpack(definition:split('=')) option(optname) add_syslinks(links) - set_configvar(defname, defval or 1) + if opt.default == nil then + set_configvar(defname, defval or 1, {quote = opt.quote}) + end option_end() - add_options(optname) + if opt.default == nil then + add_options(optname) + else + set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote}) + end end |
