152 | | == Keeping build environment up-to-date == |
153 | | |
154 | | |
155 | | For KF5 one has to modify the configuration settings by commenting out the kauth dependency on polkit-qt-1, |
156 | | since that dependency is only needed on Linux: |
157 | | {{{ |
158 | | $ cd ~/scripts |
159 | | $ ./update-setup.sh |
160 | | $ vi config/base/kf5-qt5 |
161 | | $ grep kauth config/base/kf5-qt5 |
162 | | #frameworks/kauth: kdesupport/polkit-qt-1 |
163 | | $ |
164 | | }}} |
165 | | |
166 | | |
167 | | Problems appeared for some frameworks since kconfig_compiler_kf5.app doesn't yet get installed on OSX (the build scripts error out with "/Applications/KDE/kconfig_compiler_kf5.app/Contents/MacOS/kconfig_compiler_kf5 as location is wrong"). This can be fixed for now |
168 | | introducing a temporary configuration file for kconfig: |
169 | | {{{ |
170 | | $ cat ~/scripts/config/build/kconfig/darwin-mavericks.cfg |
171 | | [DEFAULT] |
172 | | configureExtraArgs=-DCMAKE_INSTALL_BUNDLEDIR="lib/libexec/kf5" |
173 | | }}} |
174 | | which makes sure that the application bundle gets installed below PREFIX/lib/libexec/. |
175 | | |
176 | | |
177 | | |
178 | | In order to always have the latest KDE/CI running it makes sense to temporally stash away the changes made locally and upgrade via git |
179 | | {{{ |
180 | | $ # Check what has changed locally: |
181 | | $ git diff |
| 152 | == Setting up the build environment == |
| 153 | |
| 154 | The branch 'mp-osx-ci' contains all required configuration settings for OSX. The most important shall be pointed out here: |
| 155 | |
| 156 | - For KF5 on OSX one has to modify the configuration settings by commenting out the kauth dependency on polkit-qt-1, since that dependency is only needed on Linux. |
| 157 | |
| 158 | - Problems appeared for some frameworks since kconfig_compiler_kf5.app doesn't yet get installed on OSX (the build scripts error out with "/Applications/KDE/kconfig_compiler_kf5.app/Contents/MacOS/kconfig_compiler_kf5 as location is wrong"). This can be fixed for now introducing a temporary configuration file for kconfig which sets CMAKE_INSTALL_BUNDLEDIR to make sure that the application bundle gets installed below PREFIX/lib/libexec/. |
| 159 | |
| 160 | - CMAKE_INSTALL_BUNDLEDIR and DATA_INSTALL_DIR need to be set for OSX-like directories. |
| 161 | |
| 162 | - Disable searching for X11 by setting CMAKE_DISABLE_FIND_PACKAGE_X11=ON. |
| 163 | |
| 164 | - Disable running tests for now, until dbus works as expected and test applications can be started normally. |
| 165 | |
| 166 | - DYLD_LIBRARY_PATH has only temporally been added due to wrong linking of phonon (e.g. for kate and kwrite). |
| 167 | |
| 168 | - Disable coverage for plasma-framework for now until a coverage tool for clang is integrated. |
| 169 | |
| 170 | {{{ |
| 171 | $ git diff production config |
211 | | diff --git a/tools/environment-generator.py b/tools/environment-generator.py |
212 | | index 37dcbae..e46a13c 100644 |
213 | | --- a/tools/environment-generator.py |
214 | | +++ b/tools/environment-generator.py |
215 | | @@ -31,7 +31,7 @@ environment = manager.generate_environment(True) |
216 | | neededVariables = [ |
217 | | 'CMAKE_PREFIX_PATH', 'KDEDIRS', 'PATH', 'LD_LIBRARY_PATH', 'PKG_CONFIG_PATH', 'PYTHONPATH', |
218 | | 'PERL5LIB', 'QT_PLUGIN_PATH', 'QML_IMPORT_PATH', 'QML2_IMPORT_PATH', 'XDG_DATA_DIRS', |
219 | | - 'XDG_CONFIG_DIRS', 'QMAKEFEATURES', 'XDG_CURRENT_DESKTOP' |
220 | | + 'XDG_CONFIG_DIRS', 'QMAKEFEATURES', 'XDG_CURRENT_DESKTOP', 'DYLD_LIBRARY_PATH' |
221 | | ] |
222 | | |
223 | | # Generate the shell format environment file, suitable for sourcing |
224 | | $ |
225 | | $ git status |
226 | | On branch production |
227 | | Your branch is up-to-date with 'origin/production'. |
228 | | |
229 | | Changes not staged for commit: |
230 | | (use "git add <file>..." to update what will be committed) |
231 | | (use "git checkout -- <file>..." to discard changes in working directory) |
232 | | |
233 | | modified: config/base/kf5-qt5 |
234 | | modified: config/build/darwin-mavericks.cfg |
235 | | |
236 | | Untracked files: |
237 | | (use "git add <file>..." to include in what will be committed) |
238 | | |
239 | | build.sh |
240 | | dependencies/ |
241 | | kapidox/ |
242 | | kde_projects.xml |
243 | | poppler-test-data/ |
244 | | prepare.sh |
245 | | |
246 | | no changes added to commit (use "git add" and/or "git commit -a") |
247 | | $ |
248 | | $ # Updating CI scripts |
249 | | $ cd ~/scripts; git stash; git pull; git stash pop |
250 | | }}} |
251 | | |
252 | | '''Note 1:''' It may be that the DATA_INSTALL_DIR setting is actually not needed! |
253 | | |
254 | | '''Note 2:''' DYLD_LIBRARY_PATH has only temporally been added due to wrong linking of phonon (e.g. for kate and kwrite). |
255 | | |
| 201 | diff --git a/config/build/global.cfg b/config/build/global.cfg |
| 202 | index 4052215..9dbe1e1 100644 |
| 203 | --- a/config/build/global.cfg |
| 204 | +++ b/config/build/global.cfg |
| 205 | @@ -55,7 +55,7 @@ updateMimeDatabaseCommand=%(updateMimeDatabaseExecutable)s share/mime |
| 206 | deployInstallation=True |
| 207 | |
| 208 | [Test] |
| 209 | -testsEnabled=True |
| 210 | +testsEnabled=False |
| 211 | ctestCountTestsCommand=%(ctestExecutable)s -N |
| 212 | xvfbDisplayName=:99 |
| 213 | xvfbCommand=%(xvfbExecutable)s %(xvfbDisplayName)s -ac -screen 0 1600x1200x24+32 |
| 214 | diff --git a/config/build/kconfig/darwin-mavericks.cfg b/config/build/kconfig/darwin-mavericks.cfg |
| 215 | new file mode 100644 |
| 216 | index 0000000..28e02d7 |
| 217 | --- /dev/null |
| 218 | +++ b/config/build/kconfig/darwin-mavericks.cfg |
| 219 | @@ -0,0 +1,2 @@ |
| 220 | +[DEFAULT] |
| 221 | +configureExtraArgs=-DCMAKE_INSTALL_BUNDLEDIR="lib/libexec/kf5" |
| 222 | diff --git a/config/build/kconfigwidgets/darwin-mavericks.cfg b/config/build/kconfigwidgets/darwin-mavericks.cfg |
| 223 | new file mode 100644 |
| 224 | index 0000000..e44ae1c |
| 225 | --- /dev/null |
| 226 | +++ b/config/build/kconfigwidgets/darwin-mavericks.cfg |
| 227 | @@ -0,0 +1,2 @@ |
| 228 | +[DEFAULT] |
| 229 | +configureExtraArgs=-DDATA_INSTALL_DIR="{instPrefix}/Library/Application Support" |
| 230 | diff --git a/config/build/plasma-framework/darwin-mavericks.cfg b/config/build/plasma-framework/darwin-mavericks.cfg |
| 231 | new file mode 100644 |
| 232 | index 0000000..3d76592 |
| 233 | --- /dev/null |
| 234 | +++ b/config/build/plasma-framework/darwin-mavericks.cfg |
| 235 | @@ -0,0 +1,5 @@ |
| 236 | +[DEFAULT] |
| 237 | +configureExtraArgs= |
| 238 | + |
| 239 | +[QualityCheck] |
| 240 | +runCppcheck=True |
| 241 | }}} |