Difference between revisions of "CompilingMacOsX"
Jump to navigation
Jump to search
m (→Using Homebrew) |
(homebrew dependencies for Inkscape 1.1) |
||
Line 69: | Line 69: | ||
List of '''packages''' to install with brew | List of '''packages''' to install with brew | ||
(for Inkscape 1.1): | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 79: | Line 80: | ||
cmake \ | cmake \ | ||
double-conversion \ | double-conversion \ | ||
gettext \ | gettext \ | ||
gsl \ | gsl \ | ||
gspell \ | |||
gtk-mac-integration \ | gtk-mac-integration \ | ||
gtkmm3 \ | gtkmm3 \ | ||
imagemagick \ | imagemagick \ | ||
intltool \ | intltool \ | ||
lcms2 \ | lcms2 \ | ||
libomp \ | |||
libsoup \ | libsoup \ | ||
libxslt \ | libxslt \ | ||
ninja \ | ninja \ | ||
Line 96: | Line 95: | ||
potrace | potrace | ||
</syntaxhighlight> | </syntaxhighlight> | ||
You may substitute <code>imagemagick</code> with <code>graphicsmagick</code>. | |||
Since '''Homebrew''' only offers <code>gettext</code> as a keg (not linked to <code>/usr/local</code>) an extra option needs to be passed on to <code>cmake</code>. | Since '''Homebrew''' only offers <code>gettext</code> as a keg (not linked to <code>/usr/local</code>) an extra option needs to be passed on to <code>cmake</code>. | ||
Line 102: | Line 103: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
-DIntl_INCLUDE_DIR=" | -DIntl_INCLUDE_DIR="$LIBPREFIX/opt/gettext/include" \ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 16:19, 20 March 2021
Using MacPorts
- Download and install MacPorts
- Edit the MacPorts variants config (optional).
Add this line to/opt/local/etc/macports/variants.conf
-x11 +quartz
- In Terminal (Applications>Utilities>Terminal) type
sudo port install \ adwaita-icon-theme \ boehmgc \ boost \ cairo \ ccache \ cmake \ double-conversion \ gdl3 \ gettext \ gsl \ gtkmm3 \ gtk-osx-application-gtk3 \ lcms2 \ libsoup \ libxslt \ ninja \ poppler \ potrace \ py-lxml \ py-numpy \ -x11 +quartz
- In Terminal, get Inkscape
git clone --recurse-submodules https://gitlab.com/inkscape/inkscape.git
- And build inkscape
# use a clean MacPorts environment (optional) LIBPREFIX="/opt/local" export PATH="$LIBPREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin" # where to install PREFIX="$PWD/install-prefix" # where to build mkdir build cd build cmake \ -G Ninja \ -DCMAKE_PREFIX_PATH="$LIBPREFIX" \ -DCMAKE_INSTALL_PREFIX="$PREFIX" \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DWITH_OPENMP=OFF \ .. ninja ninja install
Note: Using ccache and ninja is not required, but very common because it speeds up compilation.
- Run Inkscape
$PREFIX/bin/inkscape
Using Homebrew
If you are using Homebrew instead, you can still use the above guidelines with small modifications.
List of packages to install with brew (for Inkscape 1.1):
brew install \
adwaita-icon-theme \
bdw-gc \
boost \
cairomm \
ccache \
cmake \
double-conversion \
gettext \
gsl \
gspell \
gtk-mac-integration \
gtkmm3 \
imagemagick \
intltool \
lcms2 \
libomp \
libsoup \
libxslt \
ninja \
poppler \
potrace
You may substitute imagemagick
with graphicsmagick
.
Since Homebrew only offers gettext
as a keg (not linked to /usr/local
) an extra option needs to be passed on to cmake
.
Modify the script in step 5 by changing LIBPREFIX="/usr/local"
and adding the following line to the cmake arguments:
-DIntl_INCLUDE_DIR="$LIBPREFIX/opt/gettext/include" \
See also
- Tracking Dependencies
- Extension requirements
- Compiling Inkscape
- Notes on Packaging for OS X
- https://github.com/valerioa/Inkscape-MacOS-Curated-Build
- ipatch's collection of notes about building Inkscape using Homebrew