summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2017-01-25 13:13:44 +0800
committerruki <[email protected]>2017-01-25 13:13:44 +0800
commit20ac90606b71e56baf1f8f8ef5356f23685ddac8 (patch)
tree8397158f91f42cad38600105b01584a4ab97f7ab
parent9146379b8a3fbeb09f0bc17eac0927335d46d718 (diff)
add namedflags
-rw-r--r--xmake/core/language/language.lua15
-rwxr-xr-xxmake/languages/asm/xmake.lua36
-rwxr-xr-xxmake/languages/c++/xmake.lua40
-rwxr-xr-xxmake/languages/golang/xmake.lua36
-rwxr-xr-xxmake/languages/objc++/xmake.lua40
-rwxr-xr-xxmake/languages/swift/xmake.lua36
6 files changed, 199 insertions, 4 deletions
diff --git a/xmake/core/language/language.lua b/xmake/core/language/language.lua
index f2b67fb2e..e5ed8fb2a 100644
--- a/xmake/core/language/language.lua
+++ b/xmake/core/language/language.lua
@@ -94,7 +94,7 @@ function _instance:name()
return self._NAME
end
--- get the language source extensions
+-- get the source extensions
function _instance:extensions()
-- attempt to get it from cache
@@ -117,27 +117,33 @@ function _instance:extensions()
return extensions
end
--- get the language source kinds
+-- get the source kinds
function _instance:sourcekinds()
-- get it
return self._INFO.sourcekinds
end
--- get the language source flags
+-- get the source flags
function _instance:sourceflags()
-- get it
return self._INFO.sourceflags
end
--- get the language target kinds
+-- get the target kinds
function _instance:targetkinds()
-- get it
return self._INFO.targetkinds
end
+-- get the named flags
+function _instance:namedflags()
+
+ -- TODO
+end
+
-- the directory of language
function language._directory()
@@ -177,6 +183,7 @@ function language._interpreter()
-- language.set_xxx
"language.set_sourcekinds"
, "language.set_sourceflags"
+ , "language.set_namedflags"
}
}
diff --git a/xmake/languages/asm/xmake.lua b/xmake/languages/asm/xmake.lua
index a630a42c3..fa829df90 100755
--- a/xmake/languages/asm/xmake.lua
+++ b/xmake/languages/asm/xmake.lua
@@ -37,6 +37,42 @@ language("asm")
-- on load
on_load("load")
+ -- set named flags
+ set_namedflags
+ {
+ compiler =
+ {
+ "config.includedirs"
+ , "target.symbols"
+ , "target.warnings"
+ , "target.optimize:check"
+ , "target.vectorexts:check"
+ , "target.defines"
+ , "target.undefines"
+ , "platform.includedirs"
+ , "platform.defines"
+ , "platform.undefines"
+ }
+ , linker =
+ {
+ "config.linkdirs"
+ , "target.linkdirs"
+ , "target.strip"
+ , "target.symbols"
+ , "option.linkdirs"
+ , "platform.linkdirs"
+ , "config.links"
+ , "target.links"
+ , "option.links"
+ , "platform.links"
+ }
+ , archiver =
+ {
+ "target.strip"
+ , "target.symbols"
+ }
+ }
+
-- set menu
set_menu {
config =
diff --git a/xmake/languages/c++/xmake.lua b/xmake/languages/c++/xmake.lua
index 03c8a0c3a..0f32ea204 100755
--- a/xmake/languages/c++/xmake.lua
+++ b/xmake/languages/c++/xmake.lua
@@ -40,6 +40,46 @@ language("c++")
-- on check_main
on_check_main("check_main")
+ -- set named flags
+ set_namedflags
+ {
+ compiler =
+ {
+ "config.includedirs"
+ , "target.symbols"
+ , "target.warnings"
+ , "target.optimize:check"
+ , "target.vectorexts:check"
+ , "target.languages"
+ , "target.includedirs"
+ , "target.defines"
+ , "target.undefines"
+ , "option.defines_if_ok"
+ , "option.undefines_if_ok"
+ , "platform.includedirs"
+ , "platform.defines"
+ , "platform.undefines"
+ }
+ , linker =
+ {
+ "config.linkdirs"
+ , "target.linkdirs"
+ , "target.strip"
+ , "target.symbols"
+ , "option.linkdirs"
+ , "platform.linkdirs"
+ , "config.links"
+ , "target.links"
+ , "option.links"
+ , "platform.links"
+ }
+ , archiver =
+ {
+ "target.strip"
+ , "target.symbols"
+ }
+ }
+
-- set menu
set_menu {
config =
diff --git a/xmake/languages/golang/xmake.lua b/xmake/languages/golang/xmake.lua
index d15961df8..da52c2d76 100755
--- a/xmake/languages/golang/xmake.lua
+++ b/xmake/languages/golang/xmake.lua
@@ -40,6 +40,42 @@ language("golang")
-- on check_main
on_check_main("check_main")
+ -- set named flags
+ set_namedflags
+ {
+ compiler =
+ {
+ "config.includedirs"
+ , "target.symbols"
+ , "target.warnings"
+ , "target.optimize:check"
+ , "target.vectorexts:check"
+ , "target.defines"
+ , "target.undefines"
+ , "platform.includedirs"
+ , "platform.defines"
+ , "platform.undefines"
+ }
+ , linker =
+ {
+ "config.linkdirs"
+ , "target.linkdirs"
+ , "target.strip"
+ , "target.symbols"
+ , "option.linkdirs"
+ , "platform.linkdirs"
+ , "config.links"
+ , "target.links"
+ , "option.links"
+ , "platform.links"
+ }
+ , archiver =
+ {
+ "target.strip"
+ , "target.symbols"
+ }
+ }
+
-- set menu
set_menu {
config =
diff --git a/xmake/languages/objc++/xmake.lua b/xmake/languages/objc++/xmake.lua
index a06010f8b..ee5e986ed 100755
--- a/xmake/languages/objc++/xmake.lua
+++ b/xmake/languages/objc++/xmake.lua
@@ -40,6 +40,46 @@ language("objc++")
-- on check_main
on_check_main("check_main")
+ -- set named flags
+ set_namedflags
+ {
+ compiler =
+ {
+ "config.includedirs"
+ , "target.symbols"
+ , "target.warnings"
+ , "target.optimize:check"
+ , "target.vectorexts:check"
+ , "target.languages"
+ , "target.includedirs"
+ , "target.defines"
+ , "target.undefines"
+ , "option.defines_if_ok"
+ , "option.undefines_if_ok"
+ , "platform.includedirs"
+ , "platform.defines"
+ , "platform.undefines"
+ }
+ , linker =
+ {
+ "config.linkdirs"
+ , "target.linkdirs"
+ , "target.strip"
+ , "target.symbols"
+ , "option.linkdirs"
+ , "platform.linkdirs"
+ , "config.links"
+ , "target.links"
+ , "option.links"
+ , "platform.links"
+ }
+ , archiver =
+ {
+ "target.strip"
+ , "target.symbols"
+ }
+ }
+
-- set menu
set_menu {
config =
diff --git a/xmake/languages/swift/xmake.lua b/xmake/languages/swift/xmake.lua
index 8cb67a850..13aea0f27 100755
--- a/xmake/languages/swift/xmake.lua
+++ b/xmake/languages/swift/xmake.lua
@@ -37,6 +37,42 @@ language("swift")
-- on load
on_load("load")
+ -- set named flags
+ set_namedflags
+ {
+ compiler =
+ {
+ "config.includedirs"
+ , "target.symbols"
+ , "target.warnings"
+ , "target.optimize:check"
+ , "target.vectorexts:check"
+ , "target.defines"
+ , "target.undefines"
+ , "platform.includedirs"
+ , "platform.defines"
+ , "platform.undefines"
+ }
+ , linker =
+ {
+ "config.linkdirs"
+ , "target.linkdirs"
+ , "target.strip"
+ , "target.symbols"
+ , "option.linkdirs"
+ , "platform.linkdirs"
+ , "config.links"
+ , "target.links"
+ , "option.links"
+ , "platform.links"
+ }
+ , archiver =
+ {
+ "target.strip"
+ , "target.symbols"
+ }
+ }
+
-- set menu
set_menu {
config =