2018-10-24 04:07:55 -05:00
|
|
|
How to build the iOS app:
|
|
|
|
|
|
|
|
1) First you need to build the LibreOffice core code for iOS. Put in
|
|
|
|
your autogen.input something like this:
|
|
|
|
|
|
|
|
--enable-debug
|
|
|
|
--enable-dbgutil
|
|
|
|
--enable-werror
|
|
|
|
--with-distro=LibreOfficeiOS
|
|
|
|
|
|
|
|
and build "normally". (Naturally, no unit tests will be run when
|
2018-10-24 04:44:47 -05:00
|
|
|
cross-compiling LibreOffice.) Of course there is no requirement to use
|
|
|
|
those --enable options; as a minimum, just
|
|
|
|
--with-distro=LibreOfficeiOS should work.
|
2018-10-24 04:07:55 -05:00
|
|
|
|
|
|
|
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 run any
|
|
|
|
make or open the Mobile project there yet.
|
|
|
|
|
2018-10-24 04:44:47 -05:00
|
|
|
3) Do a separate clone of the online repo on Linux, run autogen.sh,
|
|
|
|
and configure it with the --enable-iosapp option:
|
2018-10-24 04:07:55 -05:00
|
|
|
|
2018-10-30 04:25:33 -05:00
|
|
|
./configure --enable-iosapp
|
2018-10-24 04:07:55 -05:00
|
|
|
|
|
|
|
Then run make. That will produce files in loleaflet/dist, nothing
|
2018-10-30 04:25:33 -05:00
|
|
|
else. Copy those to the corresponding folder in the online clone
|
2018-10-24 04:07:55 -05:00
|
|
|
from step 2. This is what I do:
|
|
|
|
|
|
|
|
make clean && make && tar cf - loleaflet/dist | ssh misan.local 'cd lo/online-ios-device && tar xvf -'
|
|
|
|
|
|
|
|
where misan.local is the macOS machine where I build the app, in the
|
2018-10-24 04:44:47 -05:00
|
|
|
~lo/online-ios-device folder.
|
2018-10-24 04:07:55 -05:00
|
|
|
|
|
|
|
4) In the online folder form step 2, edit the
|
|
|
|
Mobile/Mobile.xcodeproj/project.pbxproj file in your favourite text
|
|
|
|
editor.
|
|
|
|
|
|
|
|
Change all instances of ../../../../ios-device to the path to where
|
2018-10-24 04:44:47 -05:00
|
|
|
you built LibreOffice core for iOS in step 1. Change the value of
|
2018-10-24 04:07:55 -05:00
|
|
|
PNGINSTDIR to where you have installed libpng compiled for iOS. Change
|
|
|
|
POCOINSTDIR to where you have installed Poco compiled for iOS.
|
|
|
|
|
2018-10-30 04:25:33 -05:00
|
|
|
Then run:
|
|
|
|
|
|
|
|
./autogen.sh
|
|
|
|
|
|
|
|
and
|
|
|
|
|
|
|
|
./configure --enable-iosapp --with-iosapp-name="My Own Mobile LibreOffice"
|
|
|
|
|
|
|
|
The only purpose of running the configure script in this tree is to
|
|
|
|
get the app name as the CFBundleDisplayName property into the
|
|
|
|
Mobile/Mobile/Info.plist file.
|
|
|
|
|
|
|
|
Sure, as we require editing the project.pbxproj file anyway, we could
|
|
|
|
as well also require editing the Info.plist file and avoid having to
|
|
|
|
run the configure script.
|
|
|
|
|
|
|
|
Or maybe the other way around, should we also have the configure
|
|
|
|
script expand the project.pbxproj file, passing the configure script
|
|
|
|
pointers to the LibreOffice source and build directories, and POCO and
|
|
|
|
PNG install directories. Those would then expaned in project.pbxproj,
|
|
|
|
and it wouldn't need to be hand-edited.
|
|
|
|
|
2018-10-24 04:07:55 -05:00
|
|
|
4) Now you can open the Mobile Xcode project, build it, and run it.
|