Skip to content

Commit

Permalink
Update ios/README
Browse files Browse the repository at this point in the history
    - instructions how to build POCO
    - fixes the changes made since

Change-Id: I157d23ce914b8afb06ccf6e6c33f8aa12661d1bb
  • Loading branch information
quikee committed Jun 3, 2019
1 parent 76dc535 commit 508a659
Showing 1 changed file with 46 additions and 10 deletions.
56 changes: 46 additions & 10 deletions ios/README
Original file line number Diff line number Diff line change
Expand Up @@ -13,24 +13,56 @@ cross-compiling LibreOffice.) Of course there is no requirement to use
those --enable options; as a minimum, just
--with-distro=LibreOfficeiOS should work.

for use with the SIMULATOR you can use:
--with-distro=LibreOfficeiOS_Sim

Debug is implied when compiling for use in the simulator, but if you
don't want that, then edit "distro-configs/LibreOfficeiOS_Sim.conf"

This will produce a large number of static archives (.a) here and
there in instdir and workdir, but no app that can be run as such. (You
can see a list of them in
workdir/CustomTarget/ios/ios-all-static-libs.list)

2) Do a separate clone of the online repo on macOS, but don't do any
2) Build LOOL Dependencies

POCO LIBRARY

2.1) Get the source poco library at https://pocoproject.org/download.html
2.2) Unpack

2.3a) Compile for DEVICE (arm64) use:
./configure --config=iPhone --static --no-tests --no-samples --omit=Data/ODBC,Data/MySQL --prefix=$HOME/poco-ios-arm64
make POCO_TARGET_OSARCH=arm64 -s -j4
make POCO_TARGET_OSARCH=arm64 install

2.3b) Compile for SIMULATOR (x86_64) use:
./configure --config=iPhoneSimulator --static --no-tests --no-samples --omit=Data/ODBC,Data/MySQL --prefix=$HOME/poco-ios-x64
make POCO_TARGET_OSARCH=x86_64 -s -j4
make POCO_TARGET_OSARCH=x86_64 install

This will install the poco static libraries and headers to your $home
directory into poco-ios-arm64 (and poco-ios-x64) directory. You can
change the directory to your wishes, but by installing it this way into
a directory in $HOME it doesn't polute your root directories, doesn't
need root permissions and can be removed easily.

If compiler can't find <string.h> you need to install:
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

3) Do a separate clone of the online repo on macOS, but don't do any
autogen.sh, configure, or make, or open the Mobile Xcode project there
yet. We call this the app folder.

3) Here the instructions split. tml uses the first way, mmeeks tried
4) Here the instructions split. tml uses the first way, mmeeks tried
to use the second way. The paths will join again at step 4.

EITHER:

3a) On a Linux machine: Do a separate clone of the online repo, run
4a) On a Linux machine: Do a separate clone of the online repo, run
autogen.sh, and configure it with the --enable-iosapp option:

./configure --enable-iosapp --with-iosapp-name="My Own Mobile LibreOffice"
./configure --enable-iosapp --with-app-name="My Own Mobile LibreOffice"

Then run make. That will produce files in loleaflet/dist, nothing
else. Copy those to the corresponding folder in the app folder from
Expand Down Expand Up @@ -62,7 +94,7 @@ PATH=/opt/libtool/bin:$PATH ./autogen.sh

OR:

3b) Install brew: https://brew.sh/
4b) Install brew: https://brew.sh/

Then:

Expand All @@ -78,25 +110,29 @@ Then run:

Now the instructions join again:

4) In the app folder from step 2, edit the
5) In the app folder from step 2, edit the
ios/Mobile.xcodeproj/project.pbxproj file in your favourite text
editor. Change LOSRCDIR and all instances of "../ios-device" to refer
the the LibreOffice core source directory from step 1.

5) In the app folder, run:
6) In the app folder, run:

for DEVICE:
./configure --enable-iosapp --with-app-name="My Own Mobile LibreOffice" --with-lo-builddir=$HOME/lode/dev/LO --with-poco-includes=$HOME/poco-ios-arm64/include --with-poco-libs=$HOME/poco-ios-arm64/lib

./configure --enable-iosapp --with-iosapp-name="My Own Mobile LibreOffice" --with-lo-builddir=$HOME/lo/ios --with-poco-includes=/opt/ios-poco/include --with-poco-libs=/opt/ios-poco/lib
for SIMULATOR:
./configure --enable-iosapp --with-app-name="My Own Mobile LibreOffice" --with-lo-builddir=$HOME/lode/dev/LO --with-poco-includes=$HOME/poco-ios-x64/include --with-poco-libs=$HOME/poco-ios-x64/lib

The configure script puts the app name as the CFBundleDisplayName
property into the ios/Mobile/Info.plist file, and sets up some
symbolic links that point to the LibreOffice core source and build
directories (which typically will be the same, of course).

6) Before opening the Xcode project for the first time
7) Before opening the Xcode project for the first time
- seriously consider disabling source code indexing, this
spawns a vast number of git processes, and consumes huge
amounts of CPU & memory:

Xcode -> Preferences, "Source Control", uncheck "Enable Source Control"

7) Now you can open the Mobile Xcode project, build it, and run it.
8) Now you can open the Mobile Xcode project, build it, and run it.

0 comments on commit 508a659

Please sign in to comment.