Support for the macOS platform 66/244066/17
authorWander Lairson Costa <wander.lairson@gmail.com>
Thu, 13 Aug 2020 20:59:40 +0000 (17:59 -0300)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Tue, 5 Jan 2021 18:26:24 +0000 (18:26 +0000)
commitecf02d1e77de62bfac85cf25dc18907525593849
tree9ac14b62821a2b7eb92f67cb821dd86b34edd34a
parent578a2e12b2e2ffe3726a987b6eb531bcc6e85ea0
Support for the macOS platform

This commit provides basic support for the macOS platform.

The macOS specific bits are in part implemented in Objectve-C++ under
the Cocoa Framework.

One note is that we installed libANGLE through vcpkg, and it is using
CGL as the default backend. We should fix this in the future in favor of
the Metal Framework.

We added a new build profile called macos, and the cmake options
"-DENABLE_PROFILE=MACOS -DPROFILE_LCASE=macos" must be passed in the
command line to build it successfully.

cairo and fontconfig packages must be installed through brew, the
version provided by vcpkg doesn't work on macOS (actually, only
fontconfig is necessary, but if you install cairo through vcpkg, it will
pull fontconfig as well).

Change-Id: Ibcf4f854721a48e3ae4e5bd710182d0dae893e05
49 files changed:
.gitignore
build/tizen/CMakeLists.txt
build/tizen/deps-check.cmake
build/tizen/profiles/macos-profile.cmake [new file with mode: 0644]
dali/internal/accessibility/file.list
dali/internal/adaptor/file.list
dali/internal/adaptor/macos/framework-mac.mm [new file with mode: 0644]
dali/internal/clipboard/file.list
dali/internal/graphics/file.list
dali/internal/graphics/macos/egl-image-extensions.cpp [new file with mode: 0644]
dali/internal/imaging/file.list
dali/internal/imaging/macos/native-image-source-factory-mac.cpp [new file with mode: 0644]
dali/internal/imaging/macos/native-image-source-factory-mac.h [new file with mode: 0644]
dali/internal/imaging/macos/native-image-source-impl-mac.cpp [new file with mode: 0644]
dali/internal/imaging/macos/native-image-source-impl-mac.h [new file with mode: 0644]
dali/internal/input/file.list
dali/internal/input/macos/input-method-context-factory-mac.cpp [new file with mode: 0644]
dali/internal/input/macos/input-method-context-impl-mac.cpp [new file with mode: 0644]
dali/internal/input/macos/input-method-context-impl-mac.h [new file with mode: 0644]
dali/internal/input/macos/key-mapping-mac.cpp [new file with mode: 0644]
dali/internal/input/macos/virtual-keyboard-impl-mac.cpp [new file with mode: 0644]
dali/internal/system/common/abort-handler.h
dali/internal/system/file.list
dali/internal/system/macos/callback-manager-mac.h [new file with mode: 0644]
dali/internal/system/macos/callback-manager-mac.mm [new file with mode: 0644]
dali/internal/system/macos/file-descriptor-monitor-macos.cpp [new file with mode: 0644]
dali/internal/system/macos/timer-impl-mac.cpp [new file with mode: 0644]
dali/internal/system/macos/trigger-event.h [new file with mode: 0644]
dali/internal/system/macos/trigger-event.mm [new file with mode: 0644]
dali/internal/system/macos/widget-application-impl-mac.cpp [new file with mode: 0644]
dali/internal/system/macos/widget-application-impl-mac.h [new file with mode: 0644]
dali/internal/text/text-abstraction/font-client-impl.cpp
dali/internal/window-system/file.list
dali/internal/window-system/macos/display-connection-factory-mac.cpp [new file with mode: 0644]
dali/internal/window-system/macos/display-connection-factory-mac.h [new file with mode: 0644]
dali/internal/window-system/macos/display-connection-impl-mac.cpp [new file with mode: 0644]
dali/internal/window-system/macos/display-connection-impl-mac.h [new file with mode: 0644]
dali/internal/window-system/macos/render-surface-factory-mac.cpp [new file with mode: 0644]
dali/internal/window-system/macos/render-surface-factory-mac.h [new file with mode: 0644]
dali/internal/window-system/macos/window-base-mac.h [new file with mode: 0644]
dali/internal/window-system/macos/window-base-mac.mm [new file with mode: 0644]
dali/internal/window-system/macos/window-factory-mac.cpp [new file with mode: 0644]
dali/internal/window-system/macos/window-factory-mac.h [new file with mode: 0644]
dali/internal/window-system/macos/window-system-mac.mm [new file with mode: 0644]
third-party/file.list
third-party/macos-platform/environment.cpp [new file with mode: 0644]
third-party/macos-platform/extern-definitions.h [new file with mode: 0644]
third-party/macos-platform/sys/prctl.h [new file with mode: 0644]
third-party/macos-platform/thread.cpp [new file with mode: 0644]