Skip to content

Commit 040b086

Browse files
committed
[tools] Clean up apple sdk detection
1 parent d6b7e76 commit 040b086

1 file changed

Lines changed: 10 additions & 26 deletions

File tree

tools/hxcpp/BuildTool.hx

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2171,44 +2171,28 @@ class BuildTool
21712171
var dev_path = '${defines.get("DEVELOPER_DIR")}/Platforms/${platform}.platform/Developer/SDKs/';
21722172
if (FileSystem.exists(dev_path))
21732173
{
2174-
var best="0.0";
2174+
var best = { major: 0, minor: 0 };
21752175
var files = FileSystem.readDirectory(dev_path);
2176-
var extract_version = new EReg('^${platform}(.*).sdk$', "");
2176+
var extract_version = ~/^([a-zA-Z]+)(\d+)\.(\d+)\.sdk$/;
21772177
for(file in files)
21782178
{
21792179
if (extract_version.match(file))
21802180
{
2181-
var ver = extract_version.matched(1);
2182-
var split_ver = ver.split(".");
2183-
var major_ver = Std.parseFloat(split_ver[0]);
2184-
var minor_ver = Std.parseFloat(split_ver[1]);
2185-
if (Math.isNaN(major_ver) || Math.isNaN(minor_ver))
2181+
var sdkPlatform = extract_version.matched(1);
2182+
var major = Std.parseInt(extract_version.matched(2));
2183+
var minor = Std.parseInt(extract_version.matched(3));
2184+
if (sdkPlatform != platform || major == null || minor == null)
21862185
{
2187-
// if version is the wrong format, skip it
21882186
continue;
21892187
}
2190-
var split_best = best.split(".");
2191-
var major_best = Std.parseFloat(split_best[0]);
2192-
var minor_best = Std.parseFloat(split_best[1]);
2193-
if (Math.isNaN(major_best) || Math.isNaN(minor_best))
2188+
if (major > best.major || (major == best.major && minor > best.minor))
21942189
{
2195-
// shouldn't happen, but just to be safe
2196-
best = ver;
2197-
}
2198-
else if (major_ver > major_best)
2199-
{
2200-
// prefer higher major version
2201-
best = ver;
2202-
}
2203-
else if (major_ver == major_best && minor_ver > minor_best)
2204-
{
2205-
// if major versions are equal, prefer higher minor version
2206-
best = ver;
2190+
best = {major: major, minor: minor};
22072191
}
22082192
}
22092193
}
2210-
if (best!="0.0")
2211-
defines.set(defineName, best);
2194+
if (best.major != 0)
2195+
defines.set(defineName, '${best.major}.${best.minor}');
22122196
else
22132197
Log.v('Could not find ${defineName}!');
22142198
}

0 commit comments

Comments
 (0)