Merge pull request #1143 from tempura-sukiyaki/xcode4-consoleapp-targetextension
Fix `targetextension` in xcode4
This commit is contained in:
commit
7f92793043
@ -976,7 +976,51 @@
|
||||
end
|
||||
|
||||
|
||||
function suite.XCBuildConfigurationTarget_OnTargetExtension()
|
||||
function suite.XCBuildConfigurationTarget_OnConsoleAppTargetExtension()
|
||||
kind "ConsoleApp"
|
||||
targetextension ".xyz"
|
||||
prepare()
|
||||
xcode.XCBuildConfiguration_Target(tr, tr.products.children[1], tr.configs[1])
|
||||
test.capture [[
|
||||
[MyProject.xyz:Debug] /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CONFIGURATION_BUILD_DIR = bin/Debug;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
INSTALL_PATH = /usr/local/bin;
|
||||
PRODUCT_NAME = MyProject.xyz;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
]]
|
||||
end
|
||||
|
||||
|
||||
function suite.XCBuildConfigurationTarget_OnConsoleAppNoTargetExtension()
|
||||
kind "ConsoleApp"
|
||||
targetextension ""
|
||||
prepare()
|
||||
xcode.XCBuildConfiguration_Target(tr, tr.products.children[1], tr.configs[1])
|
||||
test.capture [[
|
||||
[MyProject:Debug] /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CONFIGURATION_BUILD_DIR = bin/Debug;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
INSTALL_PATH = /usr/local/bin;
|
||||
PRODUCT_NAME = MyProject;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
]]
|
||||
end
|
||||
|
||||
|
||||
function suite.XCBuildConfigurationTarget_OnSharedLibTargetExtension()
|
||||
kind "SharedLib"
|
||||
targetextension ".xyz"
|
||||
prepare()
|
||||
@ -1000,6 +1044,122 @@
|
||||
end
|
||||
|
||||
|
||||
function suite.XCBuildConfigurationTarget_OnSharedLibNoTargetExtension()
|
||||
kind "SharedLib"
|
||||
targetextension ""
|
||||
prepare()
|
||||
xcode.XCBuildConfiguration_Target(tr, tr.products.children[1], tr.configs[1])
|
||||
test.capture [[
|
||||
[libMyProject:Debug] /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CONFIGURATION_BUILD_DIR = bin/Debug;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
EXECUTABLE_EXTENSION = "";
|
||||
EXECUTABLE_PREFIX = lib;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
INSTALL_PATH = /usr/local/lib;
|
||||
PRODUCT_NAME = MyProject;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
]]
|
||||
end
|
||||
|
||||
|
||||
function suite.XCBuildConfigurationTarget_OnStaticLibTargetExtension()
|
||||
kind "StaticLib"
|
||||
targetextension ".xyz"
|
||||
prepare()
|
||||
xcode.XCBuildConfiguration_Target(tr, tr.products.children[1], tr.configs[1])
|
||||
test.capture [[
|
||||
[libMyProject.xyz:Debug] /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CONFIGURATION_BUILD_DIR = bin/Debug;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
EXECUTABLE_EXTENSION = xyz;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
INSTALL_PATH = /usr/local/lib;
|
||||
PRODUCT_NAME = MyProject;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
]]
|
||||
end
|
||||
|
||||
|
||||
function suite.XCBuildConfigurationTarget_OnStaticLibNoTargetExtension()
|
||||
kind "StaticLib"
|
||||
targetextension ""
|
||||
prepare()
|
||||
xcode.XCBuildConfiguration_Target(tr, tr.products.children[1], tr.configs[1])
|
||||
test.capture [[
|
||||
[libMyProject:Debug] /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CONFIGURATION_BUILD_DIR = bin/Debug;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
EXECUTABLE_EXTENSION = "";
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
INSTALL_PATH = /usr/local/lib;
|
||||
PRODUCT_NAME = MyProject;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
]]
|
||||
end
|
||||
|
||||
|
||||
function suite.XCBuildConfigurationTarget_OnWindowedAppTargetExtension()
|
||||
kind "WindowedApp"
|
||||
targetextension ".xyz"
|
||||
prepare()
|
||||
xcode.XCBuildConfiguration_Target(tr, tr.products.children[1], tr.configs[1])
|
||||
test.capture [[
|
||||
[MyProject.xyz:Debug] /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CONFIGURATION_BUILD_DIR = bin/Debug;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
INSTALL_PATH = "\"$(HOME)/Applications\"";
|
||||
PRODUCT_NAME = MyProject;
|
||||
WRAPPER_EXTENSION = xyz;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
]]
|
||||
end
|
||||
|
||||
|
||||
function suite.XCBuildConfigurationTarget_OnWindowedAppNoTargetExtension()
|
||||
kind "WindowedApp"
|
||||
targetextension ""
|
||||
prepare()
|
||||
xcode.XCBuildConfiguration_Target(tr, tr.products.children[1], tr.configs[1])
|
||||
test.capture [[
|
||||
[MyProject:Debug] /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CONFIGURATION_BUILD_DIR = bin/Debug;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
INSTALL_PATH = "\"$(HOME)/Applications\"";
|
||||
PRODUCT_NAME = MyProject;
|
||||
WRAPPER_EXTENSION = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
]]
|
||||
end
|
||||
|
||||
|
||||
function suite.XCBuildConfigurationTarget_OnInfoPlist()
|
||||
files { "./a/b/c/MyProject-Info.plist" }
|
||||
prepare()
|
||||
|
@ -449,10 +449,9 @@
|
||||
|
||||
-- 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(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(node.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
|
||||
@ -911,9 +910,8 @@
|
||||
settings['EXECUTABLE_PREFIX'] = cfg.buildtarget.prefix
|
||||
end
|
||||
|
||||
if cfg.kind ~= "ConsoleApp" and cfg.targetextension then
|
||||
local ext = cfg.targetextension
|
||||
ext = iif(ext:startswith('.'), ext:sub(2), ext)
|
||||
if cfg.buildtarget.extension then
|
||||
local ext = cfg.buildtarget.extension:sub(2)
|
||||
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
|
||||
@ -965,7 +963,7 @@
|
||||
if not table.isempty(fileNameList) then
|
||||
settings['EXCLUDED_SOURCE_FILE_NAMES'] = fileNameList
|
||||
end
|
||||
settings['PRODUCT_NAME'] = cfg.buildtarget.basename
|
||||
settings['PRODUCT_NAME'] = iif(cfg.kind == "ConsoleApp" and cfg.buildtarget.extension, cfg.buildtarget.basename .. cfg.buildtarget.extension, cfg.buildtarget.basename)
|
||||
|
||||
if os.istarget(p.IOS) then
|
||||
settings['SDKROOT'] = 'iphoneos'
|
||||
|
Loading…
Reference in New Issue
Block a user