diff options
| author | 夕伽 <[email protected]> | 2018-09-04 14:34:33 +0800 |
|---|---|---|
| committer | 夕伽 <[email protected]> | 2018-09-04 14:34:33 +0800 |
| commit | e3038f3dce1bc843e3f19dba182f64b5bfda29f7 (patch) | |
| tree | a3807e50dcb206543c85e1e280f62b4fd7bfae0e | |
| parent | b5fbcacc984da4f5c6095fae0c9f321e4561e328 (diff) | |
make mfcrule's codes to be beautiful
| -rw-r--r-- | xmake/rules/winsdk/mfc/mfc.lua | 38 | ||||
| -rw-r--r-- | xmake/rules/winsdk/mfc/xmake.lua | 44 |
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 |
