aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuard.xcodeproj
diff options
context:
space:
mode:
authorRoopesh Chander <roop@roopc.net>2018-10-27 15:31:32 +0530
committerRoopesh Chander <roop@roopc.net>2018-10-27 19:07:16 +0530
commita08e08fe2e1e7418943e5796f52056075fb14dab (patch)
treee3f59f0a391944210ed09f7062fa4bf0fdbdb13f /WireGuard/WireGuard.xcodeproj
parentVPN: Fix DNS resolution API (diff)
downloadwireguard-apple-a08e08fe2e1e7418943e5796f52056075fb14dab.tar.xz
wireguard-apple-a08e08fe2e1e7418943e5796f52056075fb14dab.zip
Xcode: Make Xcode build libwg-go.a automatically
This is based on Jeroen Leenarts' work (commit a3cdb84) and Jason Donenfeld's work (commit 9d01829). To reproduce: In Xcode, add a new target called 'WireGuardGoBridge' with the Cross-platform > External build system template. Configure that target with the 'make' build tool and ask it to build on the wireguard-go-bridge directory. The Makefile in wireguard-go-bridge is already configured to handle being called from Xcode as an external build system. In WireGuardNetworkExtension's build phases, add a dependancy to WireGuardGoBridge, and ask it to link to libwg-go.a (the make command shall generate this archive). Add libwg-go.a as a library to be linked with. Edit the Xcode pbxproj file and in the file reference entry for libwg-go.a, set path as "libwg-go.a" and sourceTree as BUILT_PRODUCTS_DIR. Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to 'WireGuard/WireGuard.xcodeproj')
-rw-r--r--WireGuard/WireGuard.xcodeproj/project.pbxproj77
1 files changed, 77 insertions, 0 deletions
diff --git a/WireGuard/WireGuard.xcodeproj/project.pbxproj b/WireGuard/WireGuard.xcodeproj/project.pbxproj
index 0e1ec15..c7288dd 100644
--- a/WireGuard/WireGuard.xcodeproj/project.pbxproj
+++ b/WireGuard/WireGuard.xcodeproj/project.pbxproj
@@ -25,6 +25,7 @@
6F7774EA217229DB006A79B3 /* IPAddressRange.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F7774E9217229DB006A79B3 /* IPAddressRange.swift */; };
6F7774EF21722D97006A79B3 /* TunnelsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F7774EE21722D97006A79B3 /* TunnelsManager.swift */; };
6F7774F321774263006A79B3 /* TunnelEditTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F7774F221774263006A79B3 /* TunnelEditTableViewController.swift */; };
+ 6FDEF7E421846C1A00D8FBF6 /* libwg-go.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6FDEF7E321846C1A00D8FBF6 /* libwg-go.a */; };
6FF4AC1F211EC472002C96EB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6FF4AC1E211EC472002C96EB /* Assets.xcassets */; };
6FF4AC22211EC472002C96EB /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6FF4AC20211EC472002C96EB /* LaunchScreen.storyboard */; };
6FF4AC472120B9E0002C96EB /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6FF4AC462120B9E0002C96EB /* NetworkExtension.framework */; };
@@ -38,6 +39,13 @@
remoteGlobalIDString = 6F5D0C19218352EF000F85AD;
remoteInfo = WireGuardNetworkExtension;
};
+ 6FDEF7E121846C0000D8FBF6 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 6FF4AC0C211EC46F002C96EB /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 6FDEF7DD21846BC100D8FBF6;
+ remoteInfo = WireGuardGoBridge;
+ };
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -78,6 +86,7 @@
6F7774E9217229DB006A79B3 /* IPAddressRange.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IPAddressRange.swift; sourceTree = "<group>"; };
6F7774EE21722D97006A79B3 /* TunnelsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TunnelsManager.swift; sourceTree = "<group>"; };
6F7774F221774263006A79B3 /* TunnelEditTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TunnelEditTableViewController.swift; sourceTree = "<group>"; };
+ 6FDEF7E321846C1A00D8FBF6 /* libwg-go.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libwg-go.a"; sourceTree = BUILT_PRODUCTS_DIR; };
6FF4AC14211EC46F002C96EB /* WireGuard.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WireGuard.app; sourceTree = BUILT_PRODUCTS_DIR; };
6FF4AC1E211EC472002C96EB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
6FF4AC21211EC472002C96EB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
@@ -92,6 +101,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 6FDEF7E421846C1A00D8FBF6 /* libwg-go.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -217,6 +227,7 @@
6FF4AC452120B9E0002C96EB /* Frameworks */ = {
isa = PBXGroup;
children = (
+ 6FDEF7E321846C1A00D8FBF6 /* libwg-go.a */,
6FF4AC462120B9E0002C96EB /* NetworkExtension.framework */,
);
name = Frameworks;
@@ -224,6 +235,23 @@
};
/* End PBXGroup section */
+/* Begin PBXLegacyTarget section */
+ 6FDEF7DD21846BC100D8FBF6 /* WireGuardGoBridge */ = {
+ isa = PBXLegacyTarget;
+ buildArgumentsString = "$(ACTION)";
+ buildConfigurationList = 6FDEF7E021846BC700D8FBF6 /* Build configuration list for PBXLegacyTarget "WireGuardGoBridge" */;
+ buildPhases = (
+ );
+ buildToolPath = /usr/bin/make;
+ buildWorkingDirectory = "$(PROJECT_DIR)/../wireguard-go-bridge";
+ dependencies = (
+ );
+ name = WireGuardGoBridge;
+ passBuildSettingsInEnvironment = 1;
+ productName = WireGuardGoBridge;
+ };
+/* End PBXLegacyTarget section */
+
/* Begin PBXNativeTarget section */
6F5D0C19218352EF000F85AD /* WireGuardNetworkExtension */ = {
isa = PBXNativeTarget;
@@ -236,6 +264,7 @@
buildRules = (
);
dependencies = (
+ 6FDEF7E221846C0000D8FBF6 /* PBXTargetDependency */,
);
name = WireGuardNetworkExtension;
productName = WireGuardNetworkExtension;
@@ -275,6 +304,9 @@
CreatedOnToolsVersion = 10.0;
LastSwiftMigration = 1000;
};
+ 6FDEF7DD21846BC100D8FBF6 = {
+ CreatedOnToolsVersion = 10.0;
+ };
6FF4AC13211EC46F002C96EB = {
CreatedOnToolsVersion = 9.4.1;
LastSwiftMigration = 1000;
@@ -301,6 +333,7 @@
targets = (
6FF4AC13211EC46F002C96EB /* WireGuard */,
6F5D0C19218352EF000F85AD /* WireGuardNetworkExtension */,
+ 6FDEF7DD21846BC100D8FBF6 /* WireGuardGoBridge */,
);
};
/* End PBXProject section */
@@ -364,6 +397,11 @@
target = 6F5D0C19218352EF000F85AD /* WireGuardNetworkExtension */;
targetProxy = 6F5D0C20218352EF000F85AD /* PBXContainerItemProxy */;
};
+ 6FDEF7E221846C0000D8FBF6 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 6FDEF7DD21846BC100D8FBF6 /* WireGuardGoBridge */;
+ targetProxy = 6FDEF7E121846C0000D8FBF6 /* PBXContainerItemProxy */;
+ };
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
@@ -426,6 +464,36 @@
};
name = Release;
};
+ 6FDEF7DE21846BC100D8FBF6 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_STYLE = Automatic;
+ DEBUGGING_SYMBOLS = YES;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ DEVELOPMENT_TEAM = R2NV2FHE22;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ 6FDEF7DF21846BC100D8FBF6 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_STYLE = Automatic;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DEVELOPMENT_TEAM = R2NV2FHE22;
+ MTL_FAST_MATH = YES;
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
6FF4AC24211EC472002C96EB /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 6FF4AC2B211EC776002C96EB /* Developer.xcconfig */;
@@ -599,6 +667,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ 6FDEF7E021846BC700D8FBF6 /* Build configuration list for PBXLegacyTarget "WireGuardGoBridge" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 6FDEF7DE21846BC100D8FBF6 /* Debug */,
+ 6FDEF7DF21846BC100D8FBF6 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
6FF4AC0F211EC46F002C96EB /* Build configuration list for PBXProject "WireGuard" */ = {
isa = XCConfigurationList;
buildConfigurations = (