Difference between revisions of "CompilingMacOsX"
Jump to navigation
Jump to search
(homebrew) |
m (→Using Homebrew) |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 2: | Line 2: | ||
<ol> | <ol> | ||
<li>Download and install [http://www.macports.org/ MacPorts] | <li>Download and install [http://www.macports.org/ MacPorts] | ||
<li>Edit the MacPorts variants config (optional). | <li>Edit the MacPorts variants config (optional). | ||
Line 8: | Line 7: | ||
<pre>-x11 +quartz</pre> | <pre>-x11 +quartz</pre> | ||
<li>In Terminal (Applications>Utilities>Terminal) type | <li>In Terminal (Applications>Utilities>Terminal) type | ||
<syntaxhighlight lang="bash">sudo port | <syntaxhighlight lang="bash">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 \ | poppler \ | ||
potrace \ | |||
py-lxml \ | |||
py-numpy \ | |||
-x11 +quartz | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<li>In Terminal, get Inkscape | <li>In Terminal, get Inkscape | ||
<syntaxhighlight lang="bash">git clone --recurse-submodules | <syntaxhighlight lang="bash">git clone --recurse-submodules https://gitlab.com/inkscape/inkscape.git</syntaxhighlight> | ||
<li>And build inkscape | <li>And build inkscape | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 21: | Line 38: | ||
export PATH="$LIBPREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin" | export PATH="$LIBPREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin" | ||
# where to | # where to install | ||
PREFIX="$PWD/install-prefix" | PREFIX="$PWD/install-prefix" | ||
# where to build | |||
mkdir build | mkdir build | ||
cd build | cd build | ||
cmake \ | cmake \ | ||
-G Ninja \ | |||
-DCMAKE_PREFIX_PATH="$LIBPREFIX" \ | -DCMAKE_PREFIX_PATH="$LIBPREFIX" \ | ||
-DCMAKE_INSTALL_PREFIX="$PREFIX" \ | -DCMAKE_INSTALL_PREFIX="$PREFIX" \ | ||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \ | |||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ | |||
-DWITH_OPENMP=OFF \ | -DWITH_OPENMP=OFF \ | ||
.. | .. | ||
ninja | |||
ninja install | |||
</syntaxhighlight> | </syntaxhighlight> | ||
''Note: Using [https://en.wikipedia.org/wiki/Ccache ccache] and [https://ninja-build.org/ ninja] is not required, but very common because it speeds up compilation.'' | |||
<li>Run Inkscape | <li>Run Inkscape | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 39: | Line 63: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</ol> | </ol> | ||
= Using Homebrew = | = Using Homebrew = | ||
If you are using [https://brew.sh/ Homebrew] instead, you can still use the above guidelines with small modifications. | |||
List of '''packages''' to install with brew | |||
= | <syntaxhighlight lang="bash"> | ||
brew install \ | |||
adwaita-icon-theme \ | |||
bdw-gc \ | |||
boost \ | |||
cairomm \ | |||
ccache \ | |||
cmake \ | |||
double-conversion \ | |||
gdl \ | |||
gettext \ | |||
graphicsmagick \ | |||
gsl \ | |||
gtk-mac-integration \ | |||
gtkmm3 \ | |||
gtkspell3 \ | |||
imagemagick \ | |||
intltool \ | |||
lcms2 \ | |||
libsoup \ | |||
libsvg-cairo \ | |||
libxslt \ | |||
ninja \ | |||
poppler \ | |||
potrace | |||
</syntaxhighlight> | |||
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>. | |||
Modify the script in step 5 by changing <code>LIBPREFIX="/usr/local"</code> and adding the following line to the cmake arguments: | |||
<syntaxhighlight lang="bash"> | |||
-DIntl_INCLUDE_DIR="/usr/local/opt/gettext/include" \ | |||
</syntaxhighlight> | |||
=See also= | =See also= | ||
* [[Tracking Dependencies]] | |||
* [[Extension requirements]] | |||
*[[Compiling Inkscape]] | *[[Compiling Inkscape]] | ||
*[[Notes on Packaging for OS X]] | *[[Notes on Packaging for OS X]] | ||
* https://github.com/valerioa/Inkscape-MacOS-Curated-Build | |||
* [https://github.com/ipatch/homebrew-us-05/blob/master/inkscape/inkscape-building-for-macOS.md ipatch's collection of notes] about building Inkscape using Homebrew | |||
[[Category:Developer Documentation]] | [[Category:Developer Documentation]] |
Revision as of 17:26, 18 April 2020
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
brew install \
adwaita-icon-theme \
bdw-gc \
boost \
cairomm \
ccache \
cmake \
double-conversion \
gdl \
gettext \
graphicsmagick \
gsl \
gtk-mac-integration \
gtkmm3 \
gtkspell3 \
imagemagick \
intltool \
lcms2 \
libsoup \
libsvg-cairo \
libxslt \
ninja \
poppler \
potrace
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="/usr/local/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