Merge pull request #952 from tempura-sukiyaki/xcode4-targetextension

Add support for `targetextension` in xcode4
This commit is contained in:
Samuel Surtees 2018-03-24 16:29:47 +10:00 committed by GitHub
commit 5348773851
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 9 deletions

View File

@ -968,10 +968,6 @@
targetextension ".xyz"
prepare()
xcode.XCBuildConfiguration_Target(tr, tr.products.children[1], tr.configs[1])
--ms removed for now
--EXECUTABLE_EXTENSION = xyz;
test.capture [[
[libMyProject.xyz:Debug] /* Debug */ = {
isa = XCBuildConfiguration;
@ -979,6 +975,7 @@
ALWAYS_SEARCH_USER_PATHS = NO;
CONFIGURATION_BUILD_DIR = bin/Debug;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
EXECUTABLE_EXTENSION = xyz;
EXECUTABLE_PREFIX = lib;
GCC_DYNAMIC_NO_PIC = NO;
INSTALL_PATH = /usr/local/lib;

View File

@ -431,9 +431,10 @@
-- is this the product node, describing the output target?
if node.kind == "product" then
local name = iif(tr.project.kind ~= "ConsoleApp", node.name, node.cfg.buildtarget.prefix .. node.cfg.buildtarget.basename)
settings[node.id] = function(level)
_p(level,'%s /* %s */ = {isa = PBXFileReference; explicitFileType = %s; includeInIndex = 0; name = %s; path = %s; sourceTree = BUILT_PRODUCTS_DIR; };',
node.id, node.name, xcode.gettargettype(node), stringifySetting(node.name), stringifySetting(path.getname(node.cfg.buildtarget.bundlename ~= "" and node.cfg.buildtarget.bundlename or node.cfg.buildtarget.relpath)))
node.id, node.name, xcode.gettargettype(node), stringifySetting(name), stringifySetting(path.getname(node.cfg.buildtarget.bundlename ~= "" and node.cfg.buildtarget.bundlename or node.cfg.buildtarget.relpath)))
end
-- is this a project dependency?
elseif node.parent.parent == tr.projects then
@ -892,11 +893,15 @@
settings['EXECUTABLE_PREFIX'] = cfg.buildtarget.prefix
end
--[[if cfg.targetextension then
if cfg.kind ~= "ConsoleApp" and cfg.targetextension then
local ext = cfg.targetextension
ext = iif(ext:startswith('.'), ext:sub(2), ext)
settings['EXECUTABLE_EXTENSION'] = ext
end]]
if cfg.kind == "WindowedApp" and ext ~= "app" then
settings['WRAPPER_EXTENSION'] = ext
elseif (cfg.kind == "StaticLib" and ext ~= "a") or (cfg.kind == "SharedLib" and ext ~= "dylib") then
settings['EXECUTABLE_EXTENSION'] = ext
end
end
local outdir = path.getrelative(tr.project.location, path.getdirectory(cfg.buildtarget.relpath))
if outdir ~= "." then

View File

@ -1713,6 +1713,9 @@
-- Add variations for other Posix-like systems.
filter { "system:MacOSX", "kind:WindowedApp" }
targetextension ".app"
filter { "system:MacOSX", "kind:SharedLib" }
targetextension ".dylib"

View File

@ -49,7 +49,7 @@
local bundlepath = ""
if cfg.system == p.MACOSX and kind == p.WINDOWEDAPP then
bundlename = basename .. ".app"
bundlename = basename .. extension
bundlepath = path.join(bundlename, "Contents/MacOS")
end