Build macOS: Difference between revisions

From Strawberry Music Player Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 29: Line 29:
== Configure build ==
== Configure build ==


     PKG_CONFIG_PATH=/opt/strawberry_macos_x86_64_release/lib/pkgconfig GIO_EXTRA_MODULES=/opt/strawberry_macos_x86_64_release/lib/gio/modules GST_PLUGIN_SCANNER="/opt/strawberry_macos_x86_64_release/libexec/gstreamer-1.0/gst-plugin-scanner" GST_PLUGIN_PATH="/opt/strawberry_macos_x86_64_release/lib/gstreamer-1.0" cmake --log-level="DEBUG" -S ../strawberry -B . -DCMAKE_BUILD_TYPE=Debug -DBUILD_WITH_QT6=ON -DUSE_BUNDLE=OFF -DCMAKE_PREFIX_PATH="/opt/strawberry_macos_x86_64_release/lib/cmake" -DPKG_CONFIG_EXECUTABLE="/opt/strawberry_macos_x86_64_release/bin/pkg-config" -DICU_ROOT="/opt/strawberry_macos_x86_64_release" -DFFTW3_DIR="/opt/strawberry_macos_x86_64_release" -DENABLE_DBUS=OFF -DENABLE_LIBMTP=OFF -DGETTEXT_MSGMERGE_EXECUTABLE="/opt/strawberry_macos_x86_64_release/bin/msgmerge" -DGETTEXT_MSGFMT_EXECUTABLE="/opt/strawberry_macos_x86_64_release/bin/msgfmt" -DGETTEXT_XGETTEXT_EXECUTABLE="/opt/strawberry_macos_x86_64_release/bin/xgettext"
     PKG_CONFIG_PATH=/opt/strawberry_macos_x86_64_release/lib/pkgconfig GIO_EXTRA_MODULES=/opt/strawberry_macos_x86_64_release/lib/gio/modules GST_PLUGIN_SCANNER="/opt/strawberry_macos_x86_64_release/libexec/gstreamer-1.0/gst-plugin-scanner" GST_PLUGIN_PATH="/opt/strawberry_macos_x86_64_release/lib/gstreamer-1.0" cmake --log-level="DEBUG" -S ../strawberry -B . -DCMAKE_BUILD_TYPE=Debug -DBUILD_WITH_QT6=ON -DUSE_BUNDLE=ON -DCMAKE_PREFIX_PATH="/opt/strawberry_macos_x86_64_release/lib/cmake" -DPKG_CONFIG_EXECUTABLE="/opt/strawberry_macos_x86_64_release/bin/pkg-config" -DICU_ROOT="/opt/strawberry_macos_x86_64_release" -DFFTW3_DIR="/opt/strawberry_macos_x86_64_release" -DENABLE_DBUS=OFF -DENABLE_LIBMTP=OFF -DGETTEXT_MSGMERGE_EXECUTABLE="/opt/strawberry_macos_x86_64_release/bin/msgmerge" -DGETTEXT_MSGFMT_EXECUTABLE="/opt/strawberry_macos_x86_64_release/bin/msgfmt" -DGETTEXT_XGETTEXT_EXECUTABLE="/opt/strawberry_macos_x86_64_release/bin/xgettext"





Revision as of 00:27, 5 September 2023

Building on macOS


Install xcode tools

   xcode-select --install


Download and install dependencies

Dependencies will be extracted under /opt/strawberry_macos_x86_64_release
   curl -f -O -L https://github.com/strawberrymusicplayer/strawberry-macos-dependencies/releases/latest/download/strawberry-macos-x86_64-release.tar.xz
   sudo tar -C / -xf strawberry-macos-x86_64-release.tar.xz
   rm strawberry-macos-x86_64-release.tar.xz


Checkout code

   mkdir -p ~/build
   cd ~/build
   git clone https://github.com/strawberrymusicplayer/strawberry
   cd strawberry
   mkdir build
   cd build

(If you already did `git clone`, do `git pull` to make sure you have the latest code).

Configure build

   PKG_CONFIG_PATH=/opt/strawberry_macos_x86_64_release/lib/pkgconfig GIO_EXTRA_MODULES=/opt/strawberry_macos_x86_64_release/lib/gio/modules GST_PLUGIN_SCANNER="/opt/strawberry_macos_x86_64_release/libexec/gstreamer-1.0/gst-plugin-scanner" GST_PLUGIN_PATH="/opt/strawberry_macos_x86_64_release/lib/gstreamer-1.0" cmake --log-level="DEBUG" -S ../strawberry -B . -DCMAKE_BUILD_TYPE=Debug -DBUILD_WITH_QT6=ON -DUSE_BUNDLE=ON -DCMAKE_PREFIX_PATH="/opt/strawberry_macos_x86_64_release/lib/cmake" -DPKG_CONFIG_EXECUTABLE="/opt/strawberry_macos_x86_64_release/bin/pkg-config" -DICU_ROOT="/opt/strawberry_macos_x86_64_release" -DFFTW3_DIR="/opt/strawberry_macos_x86_64_release" -DENABLE_DBUS=OFF -DENABLE_LIBMTP=OFF -DGETTEXT_MSGMERGE_EXECUTABLE="/opt/strawberry_macos_x86_64_release/bin/msgmerge" -DGETTEXT_MSGFMT_EXECUTABLE="/opt/strawberry_macos_x86_64_release/bin/msgfmt" -DGETTEXT_XGETTEXT_EXECUTABLE="/opt/strawberry_macos_x86_64_release/bin/xgettext"


Build

   make -j 4
   make install


Manually copy files

You need to manually copy libsoup-3.0.0.dylib, as this library needs to be loaded by gstreamer at runtime:

   mkdir -p strawberry.app/Contents/Frameworks
   cp /usr/local/lib/libsoup-3.0.0.dylib strawberry.app/Contents/Frameworks/


Deploy

   make deploy


Deploy check

Checks that all libraries are deployed correctly.

   make deploycheck


Create DMG

   make dmg


Install

To install, either open the DMG, drag Strawberry over to Applications, or manually copy the strawberry.app folder over to /Applications/