You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Dirk Zimmermann fa35d65c5e Merge branch 'IPS-91' 2 months ago
PEPObjCAdapter_iOS cleanup 11 months ago
PEPObjCAdapter_macOS adds ObjCAdapter static lib target 12 months ago
Subprojects Merge branch 'master' into IPS-91 2 months ago
pEpObjCAdapter IPS-91 Check both XCTestConfigurationFilePath and XCTestProbe 2 months ago
pEpObjCAdapter.xcodeproj IPS-91 Remove the console app 2 months ago
pEpObjCAdapter.xcworkspace adds new dependencies to workspace (toolbox, lumberjack) 8 months ago
pEpObjCTests IPS-91 After key_reset_trust, it's all over 2 months ago
pEpiOSAdapterTests initial commit 7 years ago
.gitignore IPS-5 gitignore GNUstep stuff 4 months ago
README.md IPS-5 rm dependency builders (is in independend repo now) 2 months ago
pEpObjCAdapterTests_4ipsec_macOS.plist IPS-91 New target for ipsec adapter tests 2 months ago

README.md

HowToBuild pEpObjCAdapter for macOS & iOS

Deployment

PER_MACHINE_DIRECTORY="/Library/Application Support/pEp"
PER_USER_DIRECTORY=$HOME/.pEp

Required Tools

For building the engine, you need a working python3 environment and all dependencies:

sudo port install git
sudo port install gmake
sudo port install autoconf
sudo port install libtool
sudo port install automake
sudo port install wget
sudo port install capnproto

pushd ~
git clone https://gitea.pep.foundation/fdik/yml2
popd

curl https://sh.rustup.rs -sSf | sh

add this to ~/.profile (create if it doesn't exist):

source $HOME/.cargo/env
export PATH="$HOME/.cargo/bin:$PATH"

restart your Console (!)

sudo port install pkgconfig
rustup update

Install Xcode (if not installed already)

Apple IDs & Certificates

Apple ID

You need to have an Apple ID (connected to pEp team account) configured in Xcode . Ask #service, if you want to be added to the team account.

Build Dependencies

mkdir src_pEpObjCAdapter
cd src_pEpObjCAdapter

git clone https://gitea.pep.foundation/buff/common-dependency-build-helpers-4-apple-hardware.git
git clone http://pep-security.lu/gitlab/iOS/pep-toolbox.git
git clone https://pep-security.lu/gitlab/iOS/CocoaLumberjack
git clone https://pep-security.lu/gitlab/misc/libetpan.git
git clone https://pep-security.lu/gitlab/misc/sqlite.git
git clone https://gitea.pep.foundation/pEp.foundation/pEpEngine
git clone https://gitea.pep.foundation/pep.foundation/pEpObjCAdapter.git

Build for iOS

iOS Only: Copy System DB

The system.db from the pEpEngine repository must be copied in the bundle that uses the pEpObjCAdapter.a static lib. The ObjCAdapter copies it at runtime in the desired directory.

Backround: Has been introduces to use Apple Shared App Directory of the client App.

Using Xcode UI

open pEpObjCAdapter/pEpObjCAdapter.xcworkspace/

Build scheme "pEpObjCAdapter_iOS".

Using terminal

xcodebuild -workspace "pEpObjCAdapter.xcworkspace" -scheme "PEPObjCAdapter_iOS" -configuration RELEASE

(or DEBUG)

Build Dir & Build Artefacts

You can find the build artefacts in the pEpMacOSAdapter/build folder

Build for macOS

Using Xcode UI

open pEpObjCAdapter/pEpObjCAdapter.xcworkspace/

Build scheme "PEPObjCAdapter_macOS".

Using terminal

xcodebuild -workspace "pEpObjCAdapter.xcworkspace" -scheme "PEPObjCAdapter_macOS" -configuration RELEASE

(or DEBUG)

Using terminal

xcodebuild -workspace "pEpObjCAdapter.xcworkspace" -scheme "PEPObjCAdapter_macOS" -configuration RELEASE

(or DEBUG)

Build Dir & Build Artefacts

You can find the build artefacts in the pEpMacOSAdapter/build folder

HowToBuild pEpObjCAdapter for Linux

See pEpObjCAdapter/pEpObjCAdapter/build-linux/README.md