Browse Source

Fix Xcode C++ include path (#1844)

pull/1861/head
Christian Howe 1 year ago committed by GitHub
parent
commit
3f923b1c64
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 26
      src/Core/Toolchains/XcodeToolchain.cs

26
src/Core/Toolchains/XcodeToolchain.cs

@ -27,16 +27,34 @@ namespace CppSharp @@ -27,16 +27,34 @@ namespace CppSharp
return toolchainPath;
}
public static string GetXcodeSDKPath() {
return Path.Combine(
GetXcodePath(),
"Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"
);
}
public static string GetXcodeCppIncludesFolder()
{
var toolchainPath = GetXcodeToolchainPath();
var sdkPath = GetXcodeSDKPath();
var includePath = Path.Combine(toolchainPath, "usr/include/c++/v1");
var includePathSuffix = "usr/include/c++/v1";
var oldIncludePath = Path.Combine(toolchainPath, includePathSuffix);
var newIncludePath = Path.Combine(sdkPath, includePathSuffix);
if (includePath == null || !Directory.Exists(includePath))
throw new Exception($"Could not find a valid C++ include folder: {includePath}");
if (newIncludePath != null && Directory.Exists(newIncludePath))
{
return newIncludePath;
}
if (oldIncludePath != null && Directory.Exists(oldIncludePath))
{
return oldIncludePath;
}
return includePath;
throw new Exception(
$"Could not find a valid C++ include folder in either {oldIncludePath} or {newIncludePath}");
}
public static string GetXcodeBuiltinIncludesFolder()

Loading…
Cancel
Save