Calligra/Building Calligra on OSX
Appearance
< Calligra
Install Dependencies
First you need to install Calligra dependencies, you can do it manually, through Macports or Homebrew, here shows how to do it in Homebrew.
- Install Homebrew following this guide.
- Setup
adymo/homebrew-kde
tap following this guide. - Install all the dependencies to the calligra formula.
- Install
ninja
through Homebrew, which is a build tool faster than GNU make.
Setup Calligra Source Code
- Clone Calligra git repo.
git clone git://anongit.kde.org/calligra
- Checkout the branch you want to build, master branch usually works best on OSX
- Make a directory for build and a directory for install, here we call them ${BUILD_DIR} and ${INSTALL_DIR} as references.
Build & Install
- Go to ${BUILD_DIR}, run cmake, ${PATH_TO_SOURCE_DIR} is the relative path from ${BUILD_DIR} to the source code directory:
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -DKDE_DEFAULT_HOME=${INSTALL_DIR}/.kde -DCMAKE_PREFIX_PATH=/usr/local/opt/gettext:/usr/local/opt/sqlite/:/usr/local/kde4 -DBUILD_doc=FALSE -DKDE4_BUILD_TESTS=off -DBUNDLE_INSTALL_DIR=${INSTALL_DIR}/bin -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -DPRODUCTSET=osx ${PATH_TO_SOURCE_DIR} -GNinja -Wno-dev -DCMAKE_CXX_FLAGS=-w
- Build and install through command
ninja install
- Setup environment variables similar to the homebrew-kde guide or put them in a script so you can fire up a debugger easily
Run & Debug
- If you set environment variables in ~/.profile and ran kbuildsycoca4 and update-mime-database, you can run Calligra application by .app container under ${INSTALL_DIR}/bin
- Here is a example script which included environment variable setup and debugger support [WIP]
#! /bin/bash INSTALL_DIR=/Users/yue/Dev/calligra/install BREW_DIR=/usr/local BREW_KDE_DIR=/usr/local/kde4 export KDEHOME=${INSTALL_DIR}/.kde export XDG_DATA_HOME=${INSTALL_DIR}/.local/share export XDG_CONFIG_HOME=${INSTALL_DIR}/.config export XDG_DATA_DIRS=${INSTALL_DIR}/share:${BREW_KDE_DIR}/share:${BREW_DIR}/share export KDEDIRS=${INSTALL_DIR}:$KDEDIRS export DYLD_LIBRARY_PATH=${INSTALL_DIR}/lib:$DYLD_LIBRARY_PATH export PATH=${INSTALL_DIR}/bin:$PATH kbuildsycoca4 --noincremental update-mime-database ${BREW_DIR}/share/mime update-mime-database ${BREW_KDE_DIR}/share/mime update-mime-database ${INSTALL_DIR}/share/mime APP= DEBUG=0 while getopts "a:D" opt; do case $opt in a) APP=$OPTARG ;; D) DEBUG=1 ;; \?) echo "Invalid option: -$OPTARG" exit 1 ;; esac done if [ $DEBUG -eq 1 ] then lldb ${INSTALL_DIR}/bin/${APP}.app/ else ${INSTALL_DIR}/bin/${APP}.app/Contents/MacOS/${APP} fi