Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
otb
otb
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 273
    • Issues 273
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 8
    • Merge Requests 8
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Main Repositories
  • otbotb
  • Merge Requests
  • !664

Merged
Opened Jan 22, 2020 by Cédric Traizet@ctraizetDeveloper

test MacOS mojave on CI

  • Overview 1
  • Commits 14
  • Pipelines 28
  • Changes 5

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 Feb 05, 2020 by Cédric Traizet
Assignee
Assign to
Reviewer
Request review from
7.1.0
Milestone
7.1.0
Assign milestone
Time tracking
Reference: orfeotoolbox/otb!664
Source branch: ci_mojave

Revert this merge request

This will create a new commit in order to revert the existing changes.

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.