You've already forked godot
							
							
				mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-03 11:50:27 +00:00 
			
		
		
		
	Merge pull request #111299 from stuartcarnie/swift_build
Build: Fix container build path for swift
This commit is contained in:
		@@ -25,6 +25,7 @@ def get_opts():
 | 
			
		||||
 | 
			
		||||
    return [
 | 
			
		||||
        ("vulkan_sdk_path", "Path to the Vulkan SDK", ""),
 | 
			
		||||
        ("SWIFT_FRONTEND", "Path to the swift-frontend binary", ""),
 | 
			
		||||
        # APPLE_TOOLCHAIN_PATH Example: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
 | 
			
		||||
        (("APPLE_TOOLCHAIN_PATH", "IOS_TOOLCHAIN_PATH"), "Path to the Apple toolchain", ""),
 | 
			
		||||
        (("APPLE_SDK_PATH", "IOS_SDK_PATH"), "Path to the iOS SDK", ""),
 | 
			
		||||
 
 | 
			
		||||
@@ -29,6 +29,7 @@ def get_opts():
 | 
			
		||||
 | 
			
		||||
    return [
 | 
			
		||||
        ("osxcross_sdk", "OSXCross SDK version", "darwin16"),
 | 
			
		||||
        ("SWIFT_FRONTEND", "Path to the swift-frontend binary", ""),
 | 
			
		||||
        ("MACOS_SDK_PATH", "Path to the macOS SDK", ""),
 | 
			
		||||
        ("vulkan_sdk_path", "Path to the Vulkan SDK", ""),
 | 
			
		||||
        EnumVariable("macports_clang", "Build using Clang from MacPorts", "no", ["no", "5.0", "devel"], ignorecase=2),
 | 
			
		||||
 
 | 
			
		||||
@@ -24,6 +24,7 @@ def get_opts():
 | 
			
		||||
    from SCons.Variables import BoolVariable
 | 
			
		||||
 | 
			
		||||
    return [
 | 
			
		||||
        ("SWIFT_FRONTEND", "Path to the swift-frontend binary", ""),
 | 
			
		||||
        # APPLE_TOOLCHAIN_PATH Example: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
 | 
			
		||||
        ("APPLE_TOOLCHAIN_PATH", "Path to the Apple toolchain", ""),
 | 
			
		||||
        (("APPLE_SDK_PATH", "VISIONOS_SDK_PATH"), "Path to the visionOS SDK", ""),
 | 
			
		||||
 
 | 
			
		||||
@@ -270,7 +270,16 @@ def setup_swift_builder(env, apple_platform, sdk_path, current_path, bridging_he
 | 
			
		||||
 | 
			
		||||
    env["ALL_SWIFT_FILES"] = all_swift_files
 | 
			
		||||
    env["CURRENT_PATH"] = current_path
 | 
			
		||||
    frontend_path = "$APPLE_TOOLCHAIN_PATH/usr/bin/swift-frontend"
 | 
			
		||||
    if "SWIFT_FRONTEND" in env and env["SWIFT_FRONTEND"] != "":
 | 
			
		||||
        frontend_path = env["SWIFT_FRONTEND"]
 | 
			
		||||
    elif "osxcross" not in env:
 | 
			
		||||
        frontend_path = "$APPLE_TOOLCHAIN_PATH/usr/bin/swift-frontend"
 | 
			
		||||
    else:
 | 
			
		||||
        frontend_path = None
 | 
			
		||||
 | 
			
		||||
    if frontend_path is None:
 | 
			
		||||
        raise Exception("Swift frontend path is not set. Please set SWIFT_FRONTEND.")
 | 
			
		||||
 | 
			
		||||
    bridging_header_path = current_path + "/" + bridging_header_filename
 | 
			
		||||
    env["SWIFTC"] = frontend_path + " -frontend -c"  # Swift compiler
 | 
			
		||||
    env["SWIFTCFLAGS"] = [
 | 
			
		||||
@@ -290,6 +299,14 @@ def setup_swift_builder(env, apple_platform, sdk_path, current_path, bridging_he
 | 
			
		||||
        "-I./",  # Pass the current directory as the header root so bridging headers can include files from any point of the hierarchy
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    if "osxcross" in env:
 | 
			
		||||
        env.Append(
 | 
			
		||||
            SWIFTCFLAGS=[
 | 
			
		||||
                "-resource-dir",
 | 
			
		||||
                "/root/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift",
 | 
			
		||||
            ]
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    if env["debug_symbols"]:
 | 
			
		||||
        env.Append(SWIFTCFLAGS=["-g"])
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user