Difference between revisions of "CompilingMacOsX"

From Inkscape Wiki
Jump to navigation Jump to search
(remove outdated stuff)
 
(2 intermediate revisions by 2 users not shown)
Line 31: Line 31:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
<li>In Terminal, get Inkscape
 
<li>In Terminal, get Inkscape
<syntaxhighlight lang="bash">git clone --recurse-submodules git@gitlab.com:inkscape/inkscape.git</syntaxhighlight>
+
<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 63: Line 63:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</ol>
 
</ol>
 +
 +
= 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=

Latest revision as of 17:26, 18 April 2020

Using MacPorts

  1. Download and install MacPorts
  2. Edit the MacPorts variants config (optional).
    Add this line to /opt/local/etc/macports/variants.conf
    -x11 +quartz
  3. 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
    
  4. In Terminal, get Inkscape
    git clone --recurse-submodules https://gitlab.com/inkscape/inkscape.git
    
  5. 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.

  6. 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