From e8d202d0fa3fafcb6934fe4836bd7a76e0bfbcca Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 8 Dec 2015 11:49:40 +0800 Subject: add target minver --- xmake/scripts/platform/iphoneos/iphoneos.lua | 14 +++++++++++--- xmake/scripts/platform/iphonesimulator/iphonesimulator.lua | 14 +++++++++++--- xmake/scripts/platform/macosx/macosx.lua | 11 ++++++++--- 3 files changed, 30 insertions(+), 9 deletions(-) (limited to 'xmake/scripts') diff --git a/xmake/scripts/platform/iphoneos/iphoneos.lua b/xmake/scripts/platform/iphoneos/iphoneos.lua index 9c0d3e88f..c860983da 100644 --- a/xmake/scripts/platform/iphoneos/iphoneos.lua +++ b/xmake/scripts/platform/iphoneos/iphoneos.lua @@ -60,6 +60,10 @@ function iphoneos.make(configs) configs.tools.sc = config.get("sc") configs.tools.lipo = config.get("lipo") + -- init target minimal version + local target_minver = config.get("target_minver") + assert(target_minver) + -- init flags for architecture local archflags = nil local arch = config.get("arch") @@ -67,10 +71,10 @@ function iphoneos.make(configs) configs.cxflags = { archflags } configs.mxflags = { archflags } configs.asflags = { archflags } - configs.ldflags = { archflags, "-ObjC", "-lstdc++", "-fobjc-link-runtime", "-miphoneos-version-min=7.0" } - configs.shflags = { archflags, "-ObjC", "-lstdc++", "-fobjc-link-runtime", "-miphoneos-version-min=7.0" } + configs.ldflags = { archflags, "-ObjC", "-lstdc++", "-fobjc-link-runtime", "-miphoneos-version-min=" .. target_minver } + configs.shflags = { archflags, "-ObjC", "-lstdc++", "-fobjc-link-runtime", "-miphoneos-version-min=" .. target_minver } if arch then - configs.scflags = { string.format("-target %s-apple-ios7", arch) } + configs.scflags = { string.format("-target %s-apple-ios%s", arch, target_minver) } end -- init flags for the xcode sdk directory @@ -99,8 +103,12 @@ function iphoneos.menu(action) , {nil, "mxflags", "kv", nil, "The Objc/c++ Compiler Flags" } , {nil, "mxxflags", "kv", nil, "The Objc++ Compiler Flags" } , {} + , {nil, "sc", "kv", nil, "The Swift Compiler" } + , {nil, "scflags", "kv", nil, "The Swift Compiler Flags" } + , {} , {nil, "xcode_dir", "kv", "auto", "The Xcode Application Directory" } , {nil, "xcode_sdkver", "kv", "auto", "The SDK Version for Xcode" } + , {nil, "target_minver", "kv", "7.0", "The Target Minimal Version" } , {} , {nil, "mobileprovision","kv", "auto", "The Provisioning Profile File" } , {nil, "codesign", "kv", "auto", "The Code Signing Indentity" } diff --git a/xmake/scripts/platform/iphonesimulator/iphonesimulator.lua b/xmake/scripts/platform/iphonesimulator/iphonesimulator.lua index dc2b6734d..1e3b39b94 100644 --- a/xmake/scripts/platform/iphonesimulator/iphonesimulator.lua +++ b/xmake/scripts/platform/iphonesimulator/iphonesimulator.lua @@ -58,6 +58,10 @@ function iphonesimulator.make(configs) configs.tools.ex = config.get("ar") configs.tools.sc = config.get("sc") + -- init target minimal version + local target_minver = config.get("target_minver") + assert(target_minver) + -- init flags for architecture local archflags = nil local arch = config.get("arch") @@ -65,10 +69,10 @@ function iphonesimulator.make(configs) configs.cxflags = { archflags } configs.mxflags = { archflags } configs.asflags = { archflags } - configs.ldflags = { archflags, "-Xlinker -objc_abi_version", "-Xlinker 2 -stdlib=libc++", "-Xlinker -no_implicit_dylibs", "-fobjc-link-runtime", "-mios-simulator-version-min=7.0" } - configs.shflags = { archflags, "-Xlinker -objc_abi_version", "-Xlinker 2 -stdlib=libc++", "-Xlinker -no_implicit_dylibs", "-fobjc-link-runtime", "-mios-simulator-version-min=7.0" } + configs.ldflags = { archflags, "-Xlinker -objc_abi_version", "-Xlinker 2 -stdlib=libc++", "-Xlinker -no_implicit_dylibs", "-fobjc-link-runtime", "-mios-simulator-version-min=" .. target_minver } + configs.shflags = { archflags, "-Xlinker -objc_abi_version", "-Xlinker 2 -stdlib=libc++", "-Xlinker -no_implicit_dylibs", "-fobjc-link-runtime", "-mios-simulator-version-min=" .. target_minver } if arch then - configs.scflags = { string.format("-target %s-apple-ios7", arch) } + configs.scflags = { string.format("-target %s-apple-ios%s", arch, target_minver) } end -- init flags for the xcode sdk directory @@ -96,8 +100,12 @@ function iphonesimulator.menu(action) , {nil, "mxflags", "kv", nil, "The Objc/c++ Compiler Flags" } , {nil, "mxxflags", "kv", nil, "The Objc++ Compiler Flags" } , {} + , {nil, "sc", "kv", nil, "The Swift Compiler" } + , {nil, "scflags", "kv", nil, "The Swift Compiler Flags" } + , {} , {nil, "xcode_dir", "kv", "auto", "The Xcode Application Directory" } , {nil, "xcode_sdkver", "kv", "auto", "The SDK Version for Xcode" } + , {nil, "target_minver", "kv", "7.0", "The Target Minimal Version" } , {} , {nil, "mobileprovision","kv", "auto", "The Provisioning Profile File" } , {nil, "codesign", "kv", "auto", "The Code Signing Indentity" } diff --git a/xmake/scripts/platform/macosx/macosx.lua b/xmake/scripts/platform/macosx/macosx.lua index 414efb016..12844e29a 100644 --- a/xmake/scripts/platform/macosx/macosx.lua +++ b/xmake/scripts/platform/macosx/macosx.lua @@ -58,6 +58,10 @@ function macosx.make(configs) configs.tools.ex = config.get("ar") configs.tools.sc = config.get("sc") + -- init target minimal version + local target_minver = config.get("target_minver") + assert(target_minver) + -- init flags for architecture local archflags = nil local arch = config.get("arch") @@ -65,10 +69,10 @@ function macosx.make(configs) configs.cxflags = { archflags, "-fpascal-strings", "-fmessage-length=0" } configs.mxflags = { archflags, "-fpascal-strings", "-fmessage-length=0" } configs.asflags = { archflags } - configs.ldflags = { archflags, "-mmacosx-version-min=10.9", "-stdlib=libc++", "-lz" } - configs.shflags = { archflags, "-mmacosx-version-min=10.9", "-stdlib=libc++", "-lz" } + configs.ldflags = { archflags, "-mmacosx-version-min=" .. target_minver, "-stdlib=libc++", "-lz" } + configs.shflags = { archflags, "-mmacosx-version-min=" .. target_minver, "-stdlib=libc++", "-lz" } if arch then - configs.scflags = { string.format("-target %s-apple-macosx10.9", arch) } + configs.scflags = { string.format("-target %s-apple-macosx%s", arch, target_minver) } end -- init flags for the xcode sdk directory @@ -106,6 +110,7 @@ function macosx.menu(action) , {} , {nil, "xcode_dir", "kv", "auto", "The Xcode Application Directory" } , {nil, "xcode_sdkver", "kv", "auto", "The SDK Version for Xcode" } + , {nil, "target_minver", "kv", "10.9", "The Target Minimal Version" } , } -- init global option menu -- cgit v1.3.1