Skip to content

Commit b6b64bc

Browse files
committed
[macOS] Restore demo library output names.
1 parent 63531a8 commit b6b64bc

File tree

5 files changed

+30
-26
lines changed

5 files changed

+30
-26
lines changed

SConstruct

+22-21
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ opts.Add(EnumVariable("android_arch", "Target Android architecture", "armv7", ["
125125
opts.Add("macos_deployment_target", "macOS deployment target", "default")
126126
opts.Add("macos_sdk_path", "macOS SDK path", "")
127127
opts.Add(EnumVariable("macos_arch", "Target macOS architecture", "universal", ["universal", "x86_64", "arm64"]))
128-
opts.Add(EnumVariable("ios_arch", "Target iOS architecture", "arm64", ["armv7", "arm64", "x86_64"]))
128+
opts.Add(EnumVariable("ios_arch", "Target iOS architecture", "arm64", ["universal", "arm64", "x86_64"]))
129129
opts.Add(BoolVariable("ios_simulator", "Target iOS Simulator", False))
130130
opts.Add(
131131
"IPHONEPATH",
@@ -253,17 +253,19 @@ elif env["platform"] == "ios":
253253
env["RANLIB"] = compiler_path + "ranlib"
254254
env["SHLIBSUFFIX"] = ".dylib"
255255

256-
env.Append(CCFLAGS=["-arch", env["ios_arch"], "-isysroot", sdk_path])
257-
env.Append(
258-
LINKFLAGS=[
259-
"-arch",
260-
env["ios_arch"],
261-
"-Wl,-undefined,dynamic_lookup",
262-
"-isysroot",
263-
sdk_path,
264-
"-F" + sdk_path,
265-
]
266-
)
256+
if env["ios_arch"] == "universal":
257+
if env["ios_simulator"]:
258+
env.Append(LINKFLAGS=["-arch", "x86_64", "-arch", "arm64"])
259+
env.Append(CCFLAGS=["-arch", "x86_64", "-arch", "arm64"])
260+
else:
261+
env.Append(LINKFLAGS=["-arch", "arm64"])
262+
env.Append(CCFLAGS=["-arch", "arm64"])
263+
else:
264+
env.Append(LINKFLAGS=["-arch", env["ios_arch"]])
265+
env.Append(CCFLAGS=["-arch", env["ios_arch"]])
266+
267+
env.Append(CCFLAGS=["-isysroot", sdk_path])
268+
env.Append(LINKFLAGS=["-isysroot", sdk_path, "-F" + sdk_path,])
267269

268270
if env["target"] == "debug":
269271
env.Append(CCFLAGS=["-Og", "-g"])
@@ -479,27 +481,26 @@ add_sources(sources, "src/variant", "cpp")
479481
add_sources(sources, "gen/src/variant", "cpp")
480482
add_sources(sources, "gen/src/classes", "cpp")
481483

482-
arch_suffix = env["bits"]
484+
env["arch_suffix"] = env["bits"]
483485
if env["platform"] == "android":
484-
arch_suffix = env["android_arch"]
486+
env["arch_suffix"] = env["android_arch"]
485487
elif env["platform"] == "ios":
486-
arch_suffix = env["ios_arch"]
488+
env["arch_suffix"] = env["ios_arch"]
487489
if env["ios_simulator"]:
488-
arch_suffix += ".simulator"
490+
env["arch_suffix"] += ".simulator"
489491
elif env["platform"] == "javascript":
490-
arch_suffix = "wasm"
492+
env["arch_suffix"] = "wasm"
491493
elif env["platform"] == "osx":
492-
arch_suffix = env["macos_arch"]
494+
env["arch_suffix"] = env["macos_arch"]
493495

494496
library = None
495-
env["OBJSUFFIX"] = ".{}.{}.{}{}".format(env["platform"], env["target"], arch_suffix, env["OBJSUFFIX"])
496-
library_name = "libgodot-cpp.{}.{}.{}{}".format(env["platform"], env["target"], arch_suffix, env["LIBSUFFIX"])
497+
env["OBJSUFFIX"] = ".{}.{}.{}{}".format(env["platform"], env["target"], env["arch_suffix"], env["OBJSUFFIX"])
498+
library_name = "libgodot-cpp.{}.{}.{}{}".format(env["platform"], env["target"], env["arch_suffix"], env["LIBSUFFIX"])
497499

498500
if env["build_library"]:
499501
library = env.StaticLibrary(target=env.File("bin/%s" % library_name), source=sources)
500502
Default(library)
501503

502-
env["SHLIBSUFFIX"] = ".{}.{}.{}{}".format(env["platform"], env["target"], arch_suffix, env["SHLIBSUFFIX"])
503504
env.Append(CPPPATH=[env.Dir(f) for f in ["gen/include", "include", "godot-headers"]])
504505
env.Append(LIBPATH=[env.Dir("bin")])
505506
env.Append(LIBS=library_name)

test/SConstruct

+4-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ env = SConscript("../SConstruct")
1616
env.Append(CPPPATH=["src/"])
1717
sources = Glob("src/*.cpp")
1818

19-
library = env.SharedLibrary("demo/bin/libgdexample" + env["SHLIBSUFFIX"], source=sources)
19+
if env["platform"] == "osx":
20+
library = env.SharedLibrary("demo/bin/libgdexample.{}.{}.framework/libgdexample.{}.{}".format(env["platform"], env["target"], env["platform"], env["target"]), source=sources)
21+
else:
22+
library = env.SharedLibrary("demo/bin/libgdexample.{}.{}.{}{}".format(env["platform"], env["target"], env["arch_suffix"], env["SHLIBSUFFIX"]), source=sources)
2023

2124
Default(library)

test/demo/bin/libgdexample.debug.framework/Resources/Info.plist test/demo/bin/libgdexample.osx.debug.framework/Resources/Info.plist

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<key>CFBundleInfoDictionaryVersion</key>
1010
<string>6.0</string>
1111
<key>CFBundleName</key>
12-
<string>libgdexample.debug</string>
12+
<string>libgdexample.osx.debug</string>
1313
<key>CFBundlePackageType</key>
1414
<string>FMWK</string>
1515
<key>CFBundleShortVersionString</key>

test/demo/bin/libgdexample.release.framework/Resources/Info.plist test/demo/bin/libgdexample.osx.release.framework/Resources/Info.plist

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<key>CFBundleInfoDictionaryVersion</key>
1010
<string>6.0</string>
1111
<key>CFBundleName</key>
12-
<string>libgdexample.release</string>
12+
<string>libgdexample.osx.release</string>
1313
<key>CFBundlePackageType</key>
1414
<string>FMWK</string>
1515
<key>CFBundleShortVersionString</key>

test/demo/example.gdextension

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ linux.64.debug = "bin/libgdexample.linux.debug.64.so"
88
linux.64.release = "bin/libgdexample.linux.release.64.so"
99
windows.64.debug = "bin/libgdexample.windows.debug.64.dll"
1010
windows.64.release = "bin/libgdexample.windows.release.64.dll"
11-
macos.debug = "bin/libgdexample.debug.framework"
12-
macos.release = "bin/libgdexample.release.framework"
11+
macos.debug = "bin/libgdexample.osx.debug.framework"
12+
macos.release = "bin/libgdexample.osx.release.framework"

0 commit comments

Comments
 (0)