summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author夕伽 <[email protected]>2018-09-04 14:34:33 +0800
committer夕伽 <[email protected]>2018-09-04 14:34:33 +0800
commite3038f3dce1bc843e3f19dba182f64b5bfda29f7 (patch)
treea3807e50dcb206543c85e1e280f62b4fd7bfae0e
parentb5fbcacc984da4f5c6095fae0c9f321e4561e328 (diff)
make mfcrule's codes to be beautiful
-rw-r--r--xmake/rules/winsdk/mfc/mfc.lua38
-rw-r--r--xmake/rules/winsdk/mfc/xmake.lua44
2 files changed, 44 insertions, 38 deletions
diff --git a/xmake/rules/winsdk/mfc/mfc.lua b/xmake/rules/winsdk/mfc/mfc.lua
index 3e3f013ac..5232ae046 100644
--- a/xmake/rules/winsdk/mfc/mfc.lua
+++ b/xmake/rules/winsdk/mfc/mfc.lua
@@ -73,20 +73,20 @@ function _mfc_remove_flags(target)
_mfc_remove_mt_md_flags(target, "cxxflags")
end
--- check unicode
-function _mfc_check_is_unicode(target)
+-- get application entry
+function mfc_application_entry(target)
local defines = target:get("defines")
for key, define in pairs(defines) do
define = define:lower()
if define:find("unicode") or define:find("_unicode") then
- return true
+ return "-entry:wWinMainCRTStartup"
end
end
- return false
+ return "-entry:WinMainCRTStartup"
end
-- apply shared mfc settings
-function _mfc_shared(target)
+function mfc_shared(target)
-- remove some exists flags
_mfc_remove_flags(target)
@@ -100,7 +100,7 @@ function _mfc_shared(target)
end
-- apply static mfc settings
-function _mfc_static(target)
+function mfc_static(target)
-- remove some exists flags
_mfc_remove_flags(target)
@@ -111,30 +111,4 @@ function _mfc_static(target)
-- set runtimelibrary
target:add("cxflags", ifelse(is_mode("debug"), "-MTd", "-MT"))
-end
-
--- apply appliction settings use static mfc
-function mfc_static_app(target)
-
- -- static common
- _mfc_static(target)
-
- -- set kind: binary
- target:set("kind", "binary")
-
- -- set entry
- target:add("ldflags", ifelse(_mfc_check_is_unicode(target), "-entry:wWinMainCRTStartup", "-entry:WinMainCRTStartup"), {force = true})
-end
-
--- apply appliction settings use shared mfc
-function mfc_shared_app(target)
-
- -- static common
- _mfc_shared(target)
-
- -- set kind: binary
- target:set("kind", "binary")
-
- -- set entry
- target:add("ldflags", ifelse(_mfc_check_is_unicode(target), "-entry:wWinMainCRTStartup", "-entry:WinMainCRTStartup"), {force = true})
end \ No newline at end of file
diff --git a/xmake/rules/winsdk/mfc/xmake.lua b/xmake/rules/winsdk/mfc/xmake.lua
index e711d986b..02ce49798 100644
--- a/xmake/rules/winsdk/mfc/xmake.lua
+++ b/xmake/rules/winsdk/mfc/xmake.lua
@@ -22,8 +22,8 @@
-- @file xmake.lua
--
--- define rule: sharedcapp
-rule("win.sdk.mfc.shared_app")
+-- define rule: shared
+rule("win.sdk.mfc.shared")
-- add mfc base rule
add_deps("win.sdk.mfc")
@@ -32,11 +32,11 @@ rule("win.sdk.mfc.shared_app")
after_load(function (target)
-- apply mfc settings
- import("mfc").mfc_shared_app(target)
+ import("mfc").mfc_shared(target)
end)
--- define rule: staticapp
-rule("win.sdk.mfc.static_app")
+-- define rule: static
+rule("win.sdk.mfc.static")
-- add mfc base rule
add_deps("win.sdk.mfc")
@@ -45,5 +45,37 @@ rule("win.sdk.mfc.static_app")
after_load(function (target)
-- apply mfc settings
- import("mfc").mfc_static_app(target)
+ import("mfc").mfc_static(target)
+ end)
+
+-- define rule: sharedcapp
+rule("win.sdk.mfc.shared_app")
+
+ -- add mfc base rule
+ add_deps("win.sdk.mfc.shared")
+
+ -- after load
+ after_load(function (target)
+
+ -- set kind: binary
+ target:set("kind", "binary")
+
+ -- set entry
+ target:add("ldflags", import("mfc").mfc_application_entry(target), {force = true})
+ end)
+
+-- define rule: staticapp
+rule("win.sdk.mfc.static_app")
+
+ -- add mfc base rule
+ add_deps("win.sdk.mfc.static")
+
+ -- after load
+ after_load(function (target)
+
+ -- set kind: binary
+ target:set("kind", "binary")
+
+ -- set entry
+ target:add("ldflags", import("mfc").mfc_application_entry(target), {force = true})
end) \ No newline at end of file