Skip to content

test MacOS mojave on CI

Cédric Traizet requested to merge ctraizet/otb:ci_mojave into develop

Summary

Patches and fixes for otb compilation on MacOS Mojave

On my fork (ctraizet/otb), leod (macOS ElCapitan) is disabled, and maki (macos Mojave) is enabled, so CI is testing this MR on Mojave!

Rationale

OTB is currently tested on MacOS ElCapitan, which is a (relatively) old version of MacOS. We now have a computer running Mac Mojave available for the CI !

However this requires some modifications in the library, in particular because of the more recent version of xcode.

Implementation Details

  • CURL : set CURL_CA_PATH to none : this variable is only used if we enable openSSL, which is not the case on MacOS (we use DarwinSSL, the native ssl of macos instead). If a CA path is found (CURL_CA_PATH is set to auto by default), cmake configuration will throw an error.

  • QT5 : we need to apply this patch, See QT wiki :

--- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
@@ -824,7 +824,7 @@ void QCoreTextFontEngine::getUnscaledGlyph(glyph_t glyph, QPainterPath *path, gl
 
 QFixed QCoreTextFontEngine::emSquareSize() const
 {
-    return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
+    return QFixed(int(CTFontGetUnitsPerEm(ctfont)));
 }
  • Set the OpenGL include dir manually in CI for MacOS, as it is not at the standard location (/System/Library) with the deprecation of OpenGL in Mojave. we can find the headers in xcode XDKs

  • Adds compatibility for swig 4.0 (removal of __swig_setmethods__ and __swig_getmethods__)

Copyright

The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.


Check before merging:

  • All discussions are resolved
  • At least 2 👍 votes from core developers, no 👎 vote.
  • The feature branch is (reasonably) up-to-date with the base branch
  • Dashboard is green
  • Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
  • Optionally, run git diff develop... -U0 --no-color | clang-format-diff.py -p1 -i on latest changes and commit
Edited by Cédric Traizet

Merge request reports