Go to file
Dirk Zimmermann a2671bb7ab Merge branch 'master' into IOSAD-227 2021-12-07 09:34:27 +01:00
PublicHeaders IOSAD-227 Move PublicHeaders out 2021-12-03 10:29:15 +01:00
Subprojects Merge branch 'master' into IOSAD-227 2021-12-07 09:34:27 +01:00
build-linux IOSAD-227 Move build-linux to the top again 2021-12-03 10:25:16 +01:00
build-mac Merge branch 'master' into IOSAD-227 2021-12-07 09:34:27 +01:00
src IOSAD-227 Move src higher 2021-12-03 10:32:11 +01:00
.gitignore IPS-5 gitignore GNUstep stuff 2021-09-28 13:29:33 +02:00
README.md IPS-5 rm dependency builders (is in independend repo now) 2021-11-12 16:08:35 +01:00

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