summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2020-04-05 16:15:13 +0800
committerruki <[email protected]>2020-04-05 16:15:13 +0800
commita60c8e6025e597fd569a41e5add672d87bd4ca5a (patch)
treead3c7e486f6677b67eeccb86544e5c77e1b586c1
parentb6436a2df4a37f82e38723711937743daceb5367 (diff)
add codesign config
-rw-r--r--tests/projects/objc/application/xmake.lua1
-rw-r--r--tests/projects/objc/bundle/xmake.lua1
-rw-r--r--tests/projects/objc/framework/xmake.lua1
-rw-r--r--xmake/modules/detect/sdks/find_xcode.lua15
-rw-r--r--xmake/modules/private/tools/codesign.lua4
-rw-r--r--xmake/platforms/iphoneos/xmake.lua14
-rw-r--r--xmake/platforms/macosx/xmake.lua32
-rw-r--r--xmake/platforms/watchos/xmake.lua14
-rw-r--r--xmake/rules/qt/deploy/macosx.lua2
-rw-r--r--xmake/rules/xcode/application/xmake.lua2
-rw-r--r--xmake/rules/xcode/bundle/xmake.lua2
-rw-r--r--xmake/rules/xcode/framework/xmake.lua2
-rw-r--r--xmake/templates/objc++/bundle/project/xmake.lua1
-rw-r--r--xmake/templates/objc++/framework/project/xmake.lua1
-rw-r--r--xmake/templates/objc/bundle/project/xmake.lua1
-rw-r--r--xmake/templates/objc/framework/project/xmake.lua1
16 files changed, 53 insertions, 41 deletions
diff --git a/tests/projects/objc/application/xmake.lua b/tests/projects/objc/application/xmake.lua
index c9a6c4b1c..12f773a1d 100644
--- a/tests/projects/objc/application/xmake.lua
+++ b/tests/projects/objc/application/xmake.lua
@@ -4,4 +4,3 @@ target("test")
add_rules("xcode.application")
add_files("src/main.m")
add_installfiles("src/Info.plist")
- --set_values("xcode.codesign_identity", "Apple Development: [email protected] (T3NA4MRVPU)")
diff --git a/tests/projects/objc/bundle/xmake.lua b/tests/projects/objc/bundle/xmake.lua
index a469eedc9..f184201e5 100644
--- a/tests/projects/objc/bundle/xmake.lua
+++ b/tests/projects/objc/bundle/xmake.lua
@@ -4,5 +4,4 @@ target("test")
add_rules("xcode.bundle")
add_files("src/test.m")
add_installfiles("src/Info.plist")
- --set_values("xcode.codesign_identity", "Apple Development: [email protected] (T3NA4MRVPU)")
diff --git a/tests/projects/objc/framework/xmake.lua b/tests/projects/objc/framework/xmake.lua
index db5ad4044..530fa53f8 100644
--- a/tests/projects/objc/framework/xmake.lua
+++ b/tests/projects/objc/framework/xmake.lua
@@ -5,7 +5,6 @@ target("test")
add_files("src/test.m")
add_headerfiles("src/*.h")
add_installfiles("src/Info.plist")
- --set_values("xcode.codesign_identity", "Apple Development: [email protected] (T3NA4MRVPU)")
target("demo")
set_kind("binary")
diff --git a/xmake/modules/detect/sdks/find_xcode.lua b/xmake/modules/detect/sdks/find_xcode.lua
index db01c44ee..6385a4929 100644
--- a/xmake/modules/detect/sdks/find_xcode.lua
+++ b/xmake/modules/detect/sdks/find_xcode.lua
@@ -24,6 +24,7 @@ import("core.base.option")
import("core.base.global")
import("core.project.config")
import("lib.detect.find_directory")
+import("private.tools.codesign")
-- find xcode directory
function _find_sdkdir(sdkdir)
@@ -78,8 +79,18 @@ function _find_xcode(sdkdir, xcode_sdkver, plat, arch)
return {}
end
+ -- find codesign identity
+ local codesign_identity = nil
+ local codesign_identities = codesign.codesign_identities()
+ if codesign_identities then
+ for identity, _ in pairs(codesign_identities) do
+ codesign_identity = identity
+ break
+ end
+ end
+
-- ok?
- return {sdkdir = sdkdir, sdkver = sdkver}
+ return {sdkdir = sdkdir, sdkver = sdkver, codesign_identity = codesign_identity}
end
-- find xcode toolchain
@@ -119,11 +130,13 @@ function main(sdkdir, opt)
-- save to config
config.set("xcode", xcode.sdkdir, {force = true, readonly = true})
config.set("xcode_sdkver", xcode.sdkver, {force = true, readonly = true})
+ config.set("xcode_codesign_identity", xcode.codesign_identity, {force = true, readonly = true})
-- trace
if opt.verbose or option.get("verbose") then
cprint("checking for the Xcode directory ... ${color.success}%s", xcode.sdkdir)
cprint("checking for the SDK version of Xcode ... ${color.success}%s", xcode.sdkver)
+ cprint("checking for the Codesign Identity of Xcode ... ${color.success}%s", xcode.codesign_identity)
end
else
diff --git a/xmake/modules/private/tools/codesign.lua b/xmake/modules/private/tools/codesign.lua
index c0eee25b2..8bdeabcac 100644
--- a/xmake/modules/private/tools/codesign.lua
+++ b/xmake/modules/private/tools/codesign.lua
@@ -22,7 +22,7 @@
import("lib.detect.find_tool")
-- get codesign identities
-function _get_codesign_identities()
+function codesign_identities()
local identities = _g.identities
if identities == nil then
identities = {}
@@ -68,7 +68,7 @@ function main (programdir, codesign_identity)
-- get codesign
local sign = "-"
if codesign_identity then
- local identities = _get_codesign_identities()
+ local identities = codesign_identities()
if identities then
sign = identities[codesign_identity]
assert(sign, "codesign: invalid sign identity(%s)!", codesign_identity)
diff --git a/xmake/platforms/iphoneos/xmake.lua b/xmake/platforms/iphoneos/xmake.lua
index eac65916a..3f7ec53c8 100644
--- a/xmake/platforms/iphoneos/xmake.lua
+++ b/xmake/platforms/iphoneos/xmake.lua
@@ -46,16 +46,18 @@ platform("iphoneos")
set_menu {
config =
{
- {category = "XCode SDK Configuration" }
- , {nil, "xcode", "kv", "auto", "The Xcode Application Directory" }
- , {nil, "xcode_sdkver", "kv", "auto", "The SDK Version for Xcode" }
- , {nil, "target_minver", "kv", "auto", "The Target Minimal Version" }
+ {category = "XCode SDK Configuration" }
+ , {nil, "xcode", "kv", "auto", "The Xcode Application Directory" }
+ , {nil, "xcode_sdkver", "kv", "auto", "The SDK Version for Xcode" }
+ , {nil, "xcode_codesign_identity", "kv", "auto", "The Codesign Identity for Xcode" }
+ , {nil, "target_minver", "kv", "auto", "The Target Minimal Version" }
}
, global =
{
- {category = "XCode SDK Configuration" }
- , {nil, "xcode", "kv", "auto", "The Xcode Application Directory" }
+ {category = "XCode SDK Configuration" }
+ , {nil, "xcode", "kv", "auto", "The Xcode Application Directory" }
+ , {nil, "xcode_codesign_identity", "kv", "auto", "The Codesign Identity for Xcode" }
}
}
diff --git a/xmake/platforms/macosx/xmake.lua b/xmake/platforms/macosx/xmake.lua
index 683944607..611a8b5c5 100644
--- a/xmake/platforms/macosx/xmake.lua
+++ b/xmake/platforms/macosx/xmake.lua
@@ -49,25 +49,27 @@ platform("macosx")
set_menu {
config =
{
- {category = "XCode SDK Configuration" }
- , {nil, "xcode", "kv", "auto", "The Xcode Application Directory" }
- , {nil, "xcode_sdkver", "kv", "auto", "The SDK Version for Xcode" }
- , {nil, "target_minver", "kv", "auto", "The Target Minimal Version" }
- , {category = "Cuda SDK Configuration" }
- , {nil, "cuda", "kv", "auto", "The Cuda SDK Directory" }
- , {category = "Qt SDK Configuration" }
- , {nil, "qt", "kv", "auto", "The Qt SDK Directory" }
- , {nil, "qt_sdkver", "kv", "auto", "The Qt SDK Version" }
+ {category = "XCode SDK Configuration" }
+ , {nil, "xcode", "kv", "auto", "The Xcode Application Directory" }
+ , {nil, "xcode_sdkver", "kv", "auto", "The SDK Version for Xcode" }
+ , {nil, "xcode_codesign_identity", "kv", "auto", "The Codesign Identity for Xcode" }
+ , {nil, "target_minver", "kv", "auto", "The Target Minimal Version" }
+ , {category = "Cuda SDK Configuration" }
+ , {nil, "cuda", "kv", "auto", "The Cuda SDK Directory" }
+ , {category = "Qt SDK Configuration" }
+ , {nil, "qt", "kv", "auto", "The Qt SDK Directory" }
+ , {nil, "qt_sdkver", "kv", "auto", "The Qt SDK Version" }
}
, global =
{
- {category = "XCode SDK Configuration" }
- , {nil, "xcode", "kv", "auto", "The Xcode Application Directory" }
- , {category = "Cuda SDK Configuration" }
- , {nil, "cuda", "kv", "auto", "The Cuda SDK Directory" }
- , {category = "Qt SDK Configuration" }
- , {nil, "qt", "kv", "auto", "The Qt SDK Directory" }
+ {category = "XCode SDK Configuration" }
+ , {nil, "xcode", "kv", "auto", "The Xcode Application Directory" }
+ , {nil, "xcode_codesign_identity", "kv", "auto", "The Codesign Identity for Xcode" }
+ , {category = "Cuda SDK Configuration" }
+ , {nil, "cuda", "kv", "auto", "The Cuda SDK Directory" }
+ , {category = "Qt SDK Configuration" }
+ , {nil, "qt", "kv", "auto", "The Qt SDK Directory" }
}
}
diff --git a/xmake/platforms/watchos/xmake.lua b/xmake/platforms/watchos/xmake.lua
index 3922f7d84..955a5077b 100644
--- a/xmake/platforms/watchos/xmake.lua
+++ b/xmake/platforms/watchos/xmake.lua
@@ -46,16 +46,18 @@ platform("watchos")
set_menu {
config =
{
- {category = "XCode SDK Configuration" }
- , {nil, "xcode", "kv", "auto", "The Xcode Application Directory" }
- , {nil, "xcode_sdkver", "kv", "auto", "The SDK Version for Xcode" }
- , {nil, "target_minver", "kv", "auto", "The Target Minimal Version" }
+ {category = "XCode SDK Configuration" }
+ , {nil, "xcode", "kv", "auto", "The Xcode Application Directory" }
+ , {nil, "xcode_sdkver", "kv", "auto", "The SDK Version for Xcode" }
+ , {nil, "xcode_codesign_identity", "kv", "auto", "The Codesign Identity for Xcode" }
+ , {nil, "target_minver", "kv", "auto", "The Target Minimal Version" }
}
, global =
{
- {category = "XCode SDK Configuration" }
- , {nil, "xcode", "kv", "auto", "The Xcode Application Directory" }
+ {category = "XCode SDK Configuration" }
+ , {nil, "xcode", "kv", "auto", "The Xcode Application Directory" }
+ , {nil, "xcode_codesign_identity", "kv", "auto", "The Codesign Identity for Xcode" }
}
}
diff --git a/xmake/rules/qt/deploy/macosx.lua b/xmake/rules/qt/deploy/macosx.lua
index 818ff9943..860d22c71 100644
--- a/xmake/rules/qt/deploy/macosx.lua
+++ b/xmake/rules/qt/deploy/macosx.lua
@@ -122,7 +122,7 @@ function main(target, opt)
if qmldir then
table.insert(argv, "-qmldir=" .. qmldir)
end
- local codesign_identity = target:values("xcode.codesign_identity")
+ local codesign_identity = target:values("xcode.codesign_identity") or get_config("xcode_codesign_identity")
if codesign_identity then
-- e.g. "Apple Development: [email protected] (T3NA4MRVPU)"
table.insert(argv, "-codesign=" .. codesign_identity)
diff --git a/xmake/rules/xcode/application/xmake.lua b/xmake/rules/xcode/application/xmake.lua
index 510ab143d..724018da2 100644
--- a/xmake/rules/xcode/application/xmake.lua
+++ b/xmake/rules/xcode/application/xmake.lua
@@ -93,7 +93,7 @@ rule("xcode.application")
end
-- do codesign
- codesign(appdir, target:values("xcode.codesign_identity"))
+ codesign(appdir, target:values("xcode.codesign_identity") or get_config("xcode_codesign_identity"))
end)
on_install(function (target)
diff --git a/xmake/rules/xcode/bundle/xmake.lua b/xmake/rules/xcode/bundle/xmake.lua
index 3a9f6144c..1e0ce3723 100644
--- a/xmake/rules/xcode/bundle/xmake.lua
+++ b/xmake/rules/xcode/bundle/xmake.lua
@@ -82,7 +82,7 @@ rule("xcode.bundle")
end
-- do codesign
- codesign(bundledir, target:values("xcode.codesign_identity"))
+ codesign(bundledir, target:values("xcode.codesign_identity") or get_config("xcode_codesign_identity"))
end)
on_install(function (target)
diff --git a/xmake/rules/xcode/framework/xmake.lua b/xmake/rules/xcode/framework/xmake.lua
index a502abdeb..097a42ff7 100644
--- a/xmake/rules/xcode/framework/xmake.lua
+++ b/xmake/rules/xcode/framework/xmake.lua
@@ -134,7 +134,7 @@ rule("xcode.framework")
os.cd(oldir)
-- do codesign
- codesign(path.join(frameworkdir, "Versions", "A"), target:values("xcode.codesign_identity"))
+ codesign(path.join(frameworkdir, "Versions", "A"), target:values("xcode.codesign_identity") or get_config("xcode_codesign_identity"))
end)
on_install(function (target)
diff --git a/xmake/templates/objc++/bundle/project/xmake.lua b/xmake/templates/objc++/bundle/project/xmake.lua
index 484f4088e..6b2b52909 100644
--- a/xmake/templates/objc++/bundle/project/xmake.lua
+++ b/xmake/templates/objc++/bundle/project/xmake.lua
@@ -5,6 +5,5 @@ target("${TARGETNAME}")
add_files("src/*.mm")
add_headerfiles("src/*.h")
add_installfiles("src/Info.plist")
- --set_values("xcode.codesign_identity", "Apple Development: [email protected] (T3NA4MRVPU)")
${FAQ}
diff --git a/xmake/templates/objc++/framework/project/xmake.lua b/xmake/templates/objc++/framework/project/xmake.lua
index e5d38722c..dec94f0ca 100644
--- a/xmake/templates/objc++/framework/project/xmake.lua
+++ b/xmake/templates/objc++/framework/project/xmake.lua
@@ -5,6 +5,5 @@ target("${TARGETNAME}")
add_files("src/*.mm")
add_headerfiles("src/*.h")
add_installfiles("src/Info.plist")
- --set_values("xcode.codesign_identity", "Apple Development: [email protected] (T3NA4MRVPU)")
${FAQ}
diff --git a/xmake/templates/objc/bundle/project/xmake.lua b/xmake/templates/objc/bundle/project/xmake.lua
index 2e23412e0..7bd25c678 100644
--- a/xmake/templates/objc/bundle/project/xmake.lua
+++ b/xmake/templates/objc/bundle/project/xmake.lua
@@ -5,6 +5,5 @@ target("${TARGETNAME}")
add_files("src/*.m")
add_headerfiles("src/*.h")
add_installfiles("src/Info.plist")
- --set_values("xcode.codesign_identity", "Apple Development: [email protected] (T3NA4MRVPU)")
${FAQ}
diff --git a/xmake/templates/objc/framework/project/xmake.lua b/xmake/templates/objc/framework/project/xmake.lua
index 3c52738aa..758bf2314 100644
--- a/xmake/templates/objc/framework/project/xmake.lua
+++ b/xmake/templates/objc/framework/project/xmake.lua
@@ -5,6 +5,5 @@ target("${TARGETNAME}")
add_files("src/*.m")
add_headerfiles("src/*.h")
add_installfiles("src/Info.plist")
- --set_values("xcode.codesign_identity", "Apple Development: [email protected] (T3NA4MRVPU)")
${FAQ}