summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxq114 <[email protected]>2021-09-23 21:59:21 +0800
committerxq114 <[email protected]>2021-09-23 21:59:21 +0800
commit6e5bd0a99336d5ef17e9b7c312d547b6a683d13e (patch)
tree628cf31298c0554d98278af8cefb25c6719eb665
parentfbccc2375dba05f227ff8e6ec0b61c9357ca449d (diff)
improve configvar_check_ functions
-rw-r--r--xmake/includes/check_cflags.lua10
-rw-r--r--xmake/includes/check_cfuncs.lua10
-rw-r--r--xmake/includes/check_cincludes.lua10
-rw-r--r--xmake/includes/check_csnippets.lua10
-rw-r--r--xmake/includes/check_ctypes.lua10
-rw-r--r--xmake/includes/check_cxxflags.lua10
-rw-r--r--xmake/includes/check_cxxfuncs.lua10
-rw-r--r--xmake/includes/check_cxxincludes.lua10
-rw-r--r--xmake/includes/check_cxxsnippets.lua10
-rw-r--r--xmake/includes/check_cxxtypes.lua10
-rw-r--r--xmake/includes/check_features.lua10
-rw-r--r--xmake/includes/check_links.lua10
-rw-r--r--xmake/includes/check_syslinks.lua10
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