517 lines
23 KiB
Plaintext
517 lines
23 KiB
Plaintext
If you have problems with the compilation, please ask on the appropriate
|
|
RawTherapee forum: http://www.rawtherapee.com/forum/viewforum.php?f=10
|
|
|
|
PREAMBLE
|
|
--------
|
|
|
|
Some commands span multiple lines, each line of such a command except for the
|
|
last one will end in a backslash character, "\".
|
|
When copying code, be sure to copy all lines from the first one that ends in \
|
|
till the last line that does not end in a \ character.
|
|
|
|
Some parts of code contain <variable containers>. Replace these with whatever
|
|
value is needed, e.g. <your favorite drink>
|
|
|
|
CMake is actually used to create the makefiles (scripts that handle the build
|
|
process) or specific Integrated Developement Environement (IDE) projects. It
|
|
is designed to find all necessary compilation flags for your specific machine,
|
|
but everything can be overriden.
|
|
|
|
RawTherapee's build mechanism will generate a build information file, named
|
|
"AboutThisBuild.txt", and require some parameters that can't be set by CMake,
|
|
so it's done in our build script, and may be overridden at your own will. The
|
|
build process also enables some sort of cross-compiling, since you can only
|
|
choose a specific processor variation of the same type (e.g. core2, athlon64,
|
|
which are both an x86 architecture). Real cross-compiling (e.g. building the
|
|
Windows version on a Linux platform) has not been tested.
|
|
|
|
By default, no processor is specified, so CMake/GCC will build RT for your
|
|
machine's processor. You can specify that the build is to be made for a
|
|
generic processor by using the -DPROC_TARGET_NUMBER="1" CMake option.
|
|
Developers who are providing builds for download from the RawTherapee website
|
|
have to set the processor label (a human-readable description of the
|
|
processor, set to "undefined" by default) manually with the -DPROC_LABEL="foo"
|
|
CMake parameter.
|
|
|
|
Note for developers that handle an automated build system: Mercurial is
|
|
required in order to produce the build information file, but your build system
|
|
will certainly only use the source code without any access to a Mercurial
|
|
repository. To generate the needed information, run the script:
|
|
./tools/generateReleaseInfo
|
|
After that, you can delete .hg* (the example below uses "-X *.hg*" to exclude
|
|
those files and folders instead of deleting them - the end result is the same)
|
|
and continue with the normal compile instructions without the need for
|
|
mercurial.
|
|
|
|
In short, once you cd into your clone of the RawTherapee source code
|
|
repository, using version "4.1" as an example:
|
|
1. Check out the desired hg tag: hg update "4.1"
|
|
2. Run tools/generateReleaseInfo to generate ReleaseInfo.cmake:
|
|
./tools/generateReleaseInfo
|
|
3. The repository is now ready to be made into a public tarball:
|
|
./tools/generateSourceTarball
|
|
|
|
The build system especially encourages to perform out-of-source builds. This
|
|
means that the CMake project is generated in a folder which is not in the
|
|
source tree of RawTherapee. This way the source tree stays clean all the time
|
|
and multiple different compilation settings can be maintained in parallel
|
|
using different binary folders. Further information about out-of-source builds
|
|
can be found here:
|
|
http://www.cmake.org/Wiki/CMake_FAQ#What_is_an_.22out-of-source.22_build.3F
|
|
|
|
If an in-source build is performed, the CMake logic now warns about this but
|
|
does not fail. Especially important for clean out-of-source builds is that the
|
|
CMake code does not generate files inside the source tree, e.g. when using
|
|
configure_file. Please keep this in mind when altering the CMake files.
|
|
|
|
|
|
DEPENDENCIES
|
|
------------
|
|
|
|
PACKAGE URL
|
|
BZIP2 bzip2>-1.0.4 http://www.bzip.org/
|
|
EXIV2 exiv2>=0.19 http://www.exiv2.org/
|
|
EXPAT expat>=2.1.0 http://expat.sourceforge.net/
|
|
FFTW fftw>=3.2.2 http://fftw.org/
|
|
GCC gcc>=4.7 http://gcc.gnu.org/
|
|
GLIB2 glib-2.0>=2.24 http://www.gtk.org/
|
|
GLIBMM glibmm-2.4>=2.24 http://www.gtkmm.org
|
|
GTK+ gtk+-2.0>=2.24.18 http://www.gtk.org/
|
|
GTK2-Engines gtk-engines-2.20.2 http://www.gtk.org/
|
|
GTKMM gtkmm-2.4>=2.22 http://www.gtkmm.org
|
|
JPEG libjpeg>=6b http://libjpeg-turbo.virtualgl.org/
|
|
http://jpegclub.org/
|
|
http://www.ijg.org/
|
|
LCMS2 lcms>=2.0a http://www.littlecms.com/
|
|
LIBCANBERRA libcanberra-gtk http://0pointer.de/lennart/projects/libcanberra/ (Linux only)
|
|
LIBIPTCDATA libiptcdata>=1.0.2 http://libiptcdata.sourceforge.net
|
|
PNG libpng>=1.2.44 http://www.libpng.org/
|
|
SIGC sigc++-2.0 http://libsigc.sourceforge.net/
|
|
TIFF libtiff>=3.9.4 http://www.remotesensing.org/libtiff/
|
|
ZLIB zlib>=1.2.3 http://www.zlib.net/
|
|
|
|
|
|
WINDOWS
|
|
-------
|
|
|
|
OPTIONAL
|
|
|
|
- TortoiseHG
|
|
You can make your life a little easier by using a graphical client for
|
|
working with Mercurial. One such free and open-soure cross-platform
|
|
client is TortoiseHG, you can get it bundled with Mercurial from:
|
|
http://tortoisehg.bitbucket.org/
|
|
|
|
- Weird compressed archive formats?
|
|
You might need to unpack archives in formats which Windows does not
|
|
handle by default. That's no problem, there are a few free programs out
|
|
there which handle many more formats than Windows does, and faster too.
|
|
We recommend:
|
|
http://www.7-zip.org/
|
|
http://peazip.sourceforge.net/
|
|
|
|
|
|
THE TOOLCHAIN
|
|
|
|
This document assumes that you install MinGW, CMake and gtkmm respectively
|
|
to "C:\MinGW64" (or "C:\MinGW32" for 32-bit), "C:\CMake", and "C:\gtkmm64" (or
|
|
"C:\gtkmm" for 32-bit).
|
|
These packages must be installed in paths that DO NOT CONTAIN SPACES.
|
|
|
|
INSTALL THE TOOLCHAIN
|
|
- TDM-GCC On-Demand Installer
|
|
http://tdm-gcc.tdragon.net/download
|
|
GCC 4.9 is recommended for Win64 builds, as under some conditions older
|
|
versions of GCC can cause artifacts.
|
|
Download the "tdm-gcc-webdl" option. Run it, select "Create a new
|
|
TDM-GCC installation" and choose the appropriate option for your
|
|
machine: "MinGW/TDM (32-bit)" if you use a 32-bit machine, or
|
|
"MinGW-w64/TDM64 Experimental (32-bit and 64-bit)" if you use a 64-bit
|
|
machine. Even though the 64-bit version contains a 32-bit version too,
|
|
we had no luck making 32-bit RT builds using it at the time of writing.
|
|
Be sure to install with OpenMP support (Components > gcc > openmp).
|
|
|
|
- CMake
|
|
http://www.cmake.org/cmake/resources/software.html
|
|
Use "Windows (Win32 Installer)", the newest version.
|
|
|
|
- >=GTK+ 2.24.18
|
|
http://hexchat.github.io/gtk-win32/
|
|
|
|
- gtkmm-2.24
|
|
http://sourceforge.net/projects/gtk-mingw/files/gtkmm2/
|
|
|
|
|
|
INSTALL THE DEPENDENCIES
|
|
|
|
RawTherapee depends on additional build-time libraries. There are two ways
|
|
you can get these libraries:
|
|
- The easy way, you can use the pre-compiled ones available from:
|
|
http://www.rawtherapee.com/releases_head/windows/dependencies_for_creating_builds/
|
|
Just unzip them to the base installation dir of MinGW, which should be
|
|
C:\MinGW64 if you followed the instructions to the letter.
|
|
|
|
Note that this archive might not contain all of the required
|
|
libraries. If compilation fails due to missing libraries, then see the
|
|
dependency list at the beginning of this document, find the missing
|
|
ones, and see below for instructions on where to download them from
|
|
and how to install them. Please notify us so that we may update the
|
|
archive.
|
|
|
|
- The hard way, you will need to download the source code for each and
|
|
compile each yourself. See further below for instructions.
|
|
|
|
|
|
SET UP THE TOOLCHAIN ENVIRONMENT VARIABLES
|
|
|
|
The toolchain installers should have set up some environment variables
|
|
for you automatically, but some will be missing. Fire up:
|
|
System Properties > Advanced > Environment Variables
|
|
|
|
Make sure you have the relevant ones, and that they point to the correct
|
|
places:
|
|
GTKMM_BASEPATH = "C:\gtkmm"
|
|
GTKMM64_BASEPATH = "C:\gtkmm64"
|
|
MINGW_BASEPATH = "C:\MinGW64"
|
|
PKG_CONFIG_PATH = "C:\MinGW64\lib\pkgconfig;c:\gtkmm64\lib\pkgconfig"
|
|
and that PATH contains "C:\gtkmm64\bin;C:\MinGW64\bin;C:\CMake\bin;"
|
|
(or the 32-bit counteparts)
|
|
|
|
Restart your console to be sure the changes took effect.
|
|
|
|
|
|
COMPILE
|
|
- Clone or update the RawTherapee repository
|
|
You can use TortoiseHG to clone and update the repository, or you can
|
|
do it from the command line:
|
|
hg clone https://rawtherapee.googlecode.com/hg/ "C:\rtrepo"
|
|
If you have already cloned it before, update it:
|
|
cd C:\rtrepo
|
|
hg pull
|
|
hg update -C default
|
|
|
|
- Tailor the buildRT.bat batch file to your needs
|
|
Copy C:\rtrepo\tools\buildRT.bat to C:\buildRT.bat so that you can make
|
|
changes to it and not lose them when you update the repository.
|
|
|
|
Edit C:\buildRT.bat and customize as follows:
|
|
- If you are building RT for yourself, use
|
|
"-DPROC_TARGET_NUMBER:STRING=2"
|
|
- If you are building RT to be distributed to other people, use
|
|
"-DPROC_TARGET_NUMBER:STRING=1"
|
|
- If you want to upload a build, you should set some additional
|
|
information about your processor. There are two possibilities:
|
|
1. You pick up a target processor from "ProcessorTargets.cmake".
|
|
All you have to do is set the PROC_TARGET_NUMBER parameter
|
|
to the desired target number. If you choose the "native"
|
|
solution, you have to set the processor label manually
|
|
by setting the PROC_LABEL parameter. Please provide a short name,
|
|
like "core i5" or "athlon64". Processor frequency is of no use.
|
|
2. You don't need specific processor flags, so you'll let
|
|
PROC_TARGET_NUMBER default to 0, but you have to set the
|
|
PROC_LABEL parameter. Please provide a short name, like "core i5"
|
|
or "athlon64". Specifying the processor frequency is of no use.
|
|
|
|
- Run buildRT.bat to compile RawTherapee
|
|
C:\buildRT.bat
|
|
|
|
|
|
DEPENDENCIES - THE HARD WAY
|
|
|
|
The MSYS package is required to build the libraries. Before building them,
|
|
check if they are already installed in your gtkmm and MinGW directories.
|
|
There shouldn't be two versions of the same library in different places.
|
|
|
|
Open an MSYS console, that will create a Linux environment, and compile
|
|
the dependencies in the following order:
|
|
zlib:
|
|
If you have gtkmm-2.22 installed, you should skip this zlib section.
|
|
- Download: http://zlib.net/
|
|
- How to build:
|
|
cd to the directory you unpacked zlib-1.2.5 to,
|
|
make -f win32/Makefile.gcc
|
|
|
|
Then, manually copy the files as follows (tip: you can individually
|
|
copy the lines below and paste them in MSYS' prompt with the middle
|
|
mouse button):
|
|
cp -iv zlib1.dll /mingw/bin
|
|
cp -iv zconf.h zlib.h /mingw/include
|
|
cp -iv libz.a /mingw/lib
|
|
cp -iv libzdll.a /mingw/lib/libz.dll.a
|
|
|
|
libpng:
|
|
If you have gtkmm-2.22 installed, you should skip this libpng section.
|
|
- Download: http://sourceforge.net/projects/libpng/files/
|
|
- How to build:
|
|
cd to the directory you unpacked lpng144 to.
|
|
There are two methods of building libpng:
|
|
1. gtkmm doesn't provide zlib so compile it yourself:
|
|
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=/mingw -DCMAKE_BUILD_TYPE:STRING=Release
|
|
2. gtkmm provides zlib so you can reuse it (assuming that you
|
|
hadn't compiled zlib as explained above):
|
|
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=/mingw -DCMAKE_PREFIX_PATH:PATH=C:/gtkmm -DCMAKE_BUILD_TYPE:STRING=Release
|
|
|
|
Then build and install:
|
|
make
|
|
make install
|
|
|
|
libjpeg:
|
|
- Download: http://www.ijg.org/
|
|
- How to build:
|
|
cd to the directory you unpacked jpeg-8b to.
|
|
./configure --prefix=/mingw
|
|
Copy jconfig.txt to jconfig.h (overwrite the existing file).
|
|
make
|
|
make install
|
|
|
|
libtiff:
|
|
- Download: ftp://ftp.remotesensing.org/pub/libtiff/
|
|
- How to build:
|
|
In the configure process below, set the zlib include and lib path to
|
|
the right folder. We're assuming that you're using the one provided
|
|
in the gtkmm bundle.
|
|
./configure --prefix=/mingw --with-zlib-include-dir=/c/gtkmm/include --with-zlib-lib-dir=/c/gtkmm/lib
|
|
make
|
|
cd libtiff
|
|
make install
|
|
|
|
libiptcdata:
|
|
- Download: http://libiptcdata.sourceforge.net/
|
|
- How to build:
|
|
./configure --prefix=/mingw
|
|
|
|
Edit the "Makefile" file from the root dir of libiptcdata and
|
|
search for "DIST_SUBDIRS =" and "SUBDIRS =". You should only find
|
|
one line for each search. From these lines, remove "iptc", then:
|
|
make
|
|
make install
|
|
|
|
LCMS:
|
|
- Download LCMS2
|
|
http://sourceforge.net/projects/lcms/files/
|
|
- How to build:
|
|
./configure --prefix=/mingw
|
|
make
|
|
make install
|
|
|
|
Expat:
|
|
- Download: http://expat.sourceforge.net/
|
|
- Install
|
|
|
|
FFTW:
|
|
- Instructions: http://www.fftw.org/install/windows.html
|
|
- Specific instructions more suitable for RawTherapee purposes:
|
|
1. Download the official FFTW-64 DLL package from
|
|
http://www.fftw.org/download.html
|
|
Unpack it to C:\fftw3\
|
|
2. Start MSYS console and go to your FFTW3 directory
|
|
cd /c/fftw3
|
|
2. In MSYS console, execute:
|
|
dlltool --def libfftw3f-3.def --dllname libfftw3f-3.dll --output-lib libfftw3f-3.a
|
|
dlltool --def libfftw3l-3.def --dllname libfftw3l-3.dll --output-lib libfftw3l-3.a
|
|
dlltool --def libfftw3-3.def --dllname libfftw3-3.dll --output-lib libfftw3-3.a
|
|
3. Copy files:
|
|
cp libfftw3f-3.dll /c/MinGW64/bin
|
|
cp libfftw3l-3.dll /c/MinGW64/bin
|
|
cp libfftw3-3.dll /c/MinGW64/bin
|
|
cp libfftw3f-3.a /c/MinGW64/lib
|
|
cp fftw3.h /c/MinGW64/include
|
|
4. Create a new text file MinGW64/lib/pkgconfig/fftw3f.pc with the
|
|
following contents:
|
|
prefix=/mingw64
|
|
exec_prefix=${prefix}
|
|
libdir=${exec_prefix}/lib
|
|
includedir=${prefix}/include
|
|
Name: fftw3f
|
|
Description: FFTW3 Float
|
|
Version: 3.3
|
|
Libs: -L${libdir} -lfftw3f-3 -lm
|
|
Cflags: -I${includedir}
|
|
|
|
|
|
IMPORTANT
|
|
|
|
Make sure that the lcms.pc and libiptcdata.pc files located in the
|
|
pkgconfig dir have the first line like this:
|
|
prefix=/mingw
|
|
|
|
If everything has been installed correctly, you should see lines like
|
|
the following when running the cmake command (see "COMPILE" below):
|
|
-- checking for module 'libiptcdata'
|
|
-- found libiptcdata, version 1.0.4
|
|
-- checking for module 'lcms2'
|
|
-- found lcms2, version 2.3
|
|
-- Found JPEG: C:/mingw/lib/libjpeg.dll.a
|
|
-- Found ZLIB: C:/gtkmm/lib/libz.dll.a
|
|
-- Found PNG: C:/gtkmm/lib/libpng.lib
|
|
-- Found TIFF: C:/mingw/lib/libtiff.dll.a
|
|
|
|
|
|
LINUX
|
|
-----
|
|
|
|
DEPENDENCIES
|
|
|
|
See the list of dependencies at the beginning of this document.
|
|
|
|
In Arch, run:
|
|
sudo pacman -S bzip2 exiv2 expat fftw glib2 glibmm gtk gtkmm lcms2 \
|
|
libcanberra libiptcdata libjpeg-turbo libpng libsigc++ libtiff zlib
|
|
|
|
In Fedora, run:
|
|
sudo yum install bzip2-devel cmake exiv2-devel expat-devel fftw-devel \
|
|
gcc-c++ glib2-devel glibmm24-devel gtk+-devel gtk2-engines gtkmm24-devel \
|
|
lcms2-devel libcanberra-devel libiptcdata-devel libjpeg-turbo-devel \
|
|
libpng-devel libsigc++20-devel libtiff-devel zlib-devel
|
|
|
|
In Gentoo, run:
|
|
sudo emerge -uva app-arch/bzip2 dev-cpp/glibmm dev-cpp/gtkmm \
|
|
dev-libs/expat dev-libs/glib dev-libs/libsigc++ dev-vcs/mercurial \
|
|
media-gfx/exiv2 media-libs/lcms media-libs/libcanberra \
|
|
media-libs/libiptcdata media-libs/libjpeg-turbo media-libs/libpng \
|
|
media-libs/tiff net-misc/curl sci-libs/fftw sys-libs/zlib x11-libs/gtk+ \
|
|
x11-themes/gtk-engines
|
|
|
|
In openSUSE, run:
|
|
sudo zypper in cmake fftw3-devel gcc-c++ glib2-devel glibmm2-devel \
|
|
gtk2-devel gtkmm2-devel libbz2-devel libcanberra-devel libexpat-devel \
|
|
libiptcdata-devel libjpeg-devel liblcms2-devel libpng-devel \
|
|
libsigc++2-devel libtiff-devel zlib-devel
|
|
|
|
In Ubuntu/Debian the requirements can be installed by running:
|
|
sudo apt-get update && sudo apt-get install build-essential cmake curl \
|
|
libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libfftw3-dev \
|
|
libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev \
|
|
libjpeg8-dev liblcms2-dev libpng12-dev libsigc++-2.0-dev libtiff4-dev \
|
|
mercurial zlib1g-dev
|
|
|
|
|
|
COMPILE
|
|
|
|
The Automatic Way:
|
|
The easiest way compile RawTherapee is by using the buildRT script, read
|
|
all about it in the forum:
|
|
http://rawtherapee.com/forum/viewtopic.php?p=22213#p22213
|
|
|
|
The Manual Way:
|
|
- Create and enter a new empty folder outside RawTherapee's source
|
|
directory:
|
|
mkdir ~/rt-build
|
|
cd ~/rt-build
|
|
- Type:
|
|
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./release \
|
|
-DBINDIR=. -DDATADIR=. -DLIBDIR=. <path to source directory>
|
|
Developers who want to provide a public build have to set the PROC_LABEL
|
|
to their processor name, e.g.:
|
|
cmake -DPROC_LABEL:STRING=athlon64 -DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=. \
|
|
<path to source directory>
|
|
- Type:
|
|
make install
|
|
- You'll find the compiled program in the subdirectory named like the
|
|
value of CMAKE_BUILD_TYPE ("Release" in this example). You can copy it
|
|
anywhere you want. By changing the cmake flags, you can change where
|
|
the release will compile to. By removing all flags it should go to the
|
|
standard system install location.
|
|
|
|
You're done.
|
|
|
|
|
|
Using Eclipse under Linux:
|
|
|
|
Eclipse mercurial plugin: Click "Help > Install New Software".
|
|
The Eclipse Update Site for MercurialEclipse is available at this URL:
|
|
http://cbes.javaforge.com/update
|
|
|
|
Import the RawTherapee Mercurial repository:
|
|
"File > new > other > mercurial > Clone existing repository"
|
|
Enter this URL:
|
|
https://rawtherapee.googlecode.com/hg
|
|
|
|
Create and enter a new empty folder outside RawTherapee's source directory.
|
|
Configure the source for Eclipse with:
|
|
cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=. -DCMAKE_BUILD_TYPE=Release <path to source directory>
|
|
|
|
If you want to upload a build, you should set some additional information
|
|
about your processor. There are two possibilities:
|
|
1. You pick up a target processor from "ProcessorTargets.cmake". All you
|
|
have to do is set "-D PROC_TARGET_NUMBER:STRING=number" in cmake's
|
|
command line to the desired target number. If you choose the 'native'
|
|
solution, you have to set the processor label manually by setting "-D
|
|
PROC_LABEL:STRING=procLabel" in cmake's command line. Please provide a
|
|
short name, like "core i5" or "athlon64" (without double quotes).
|
|
Processor frequency is of no use.
|
|
2. You don't need specific processor flags, so you'll let
|
|
PROC_TARGET_NUMBER default to 0, but you still have to set the
|
|
PROC_LABEL parameter (see point 1 righ above).
|
|
|
|
Eclipse does not do 'make install', but only 'make all'.
|
|
There are two ways to compile:
|
|
1. type 'make install' in the console or,
|
|
2. in "Project > properties > C/C++ Make Project > Build (incremental
|
|
build)" change 'all' to 'install'.
|
|
|
|
OS X
|
|
----
|
|
|
|
REQUIREMENTS
|
|
|
|
- XCode Development Tools (you only need a subset of these, but it is
|
|
probably easier to just install all of them)
|
|
- MacPorts
|
|
- Add following line to /opt/local/etc/macports/variants.conf:
|
|
+no_gnome +no_x11 +quartz -x11
|
|
- To install the dependencies, run:
|
|
sudo port install cairo pango gdk-pixbuf2 gtk2 libsigcxx2 gtk-osx-application-gtk2 gtkmm
|
|
- To install other dependencies and tools.
|
|
sudo port install gtk-engines2 lcms2 libiptcdata fftw-3-single cmake
|
|
- Install compiler, either
|
|
sudo port install gcc47
|
|
or
|
|
Clang with OpenMP by follow instructions at https://clang-omp.github.io/
|
|
- If you don't already have Git installed, run:
|
|
sudo port install git
|
|
|
|
|
|
COMPILE
|
|
|
|
- Make build directory.
|
|
mkdir build
|
|
cd build
|
|
- To enable OpenMP, for gcc47, type:
|
|
cmake -D CMAKE_C_COMPILER=gcc-mp-4.7 -D CMAKE_CXX_COMPILER=g++-mp-4.7 \
|
|
<path to source directory>
|
|
- or if using Clang with OpenMP
|
|
cmake -v -D CMAKE_BUILD_TYPE=Release \
|
|
-DPROC_TARGET_NUMBER="1" \
|
|
-DBUILD_BUNDLE="ON" \
|
|
-DBINDIR="." \
|
|
-DDATADIR="." \
|
|
-DCACHE_NAME_SUFFIX=4 \
|
|
-DCMAKE_C_COMPILER="/tmp/clang/build_llvm/bin/clang" \
|
|
-DCMAKE_CXX_COMPILER="/tmp/clang/build_llvm/bin/clang++" \
|
|
-DCMAKE_C_FLAGS="-I/opt/local/include/libomp" \
|
|
-DCMAKE_CXX_FLAGS="-I/opt/local/include/libomp" \
|
|
<path to source directory>
|
|
|
|
If you want to upload a build, you should set some additional information
|
|
about your processor. There are two possibilities:
|
|
1. You pick up a target processor from "ProcessorTargets.cmake". All you
|
|
have to do is set "-D PROC_TARGET_NUMBER:STRING=number" in cmake's
|
|
command line to the desired target number. If you choose the 'native'
|
|
solution, you have to set the processor label manually by setting "-D
|
|
PROC_LABEL:STRING=procLabel" in cmake's command line. Please provide a
|
|
short name, like "core i5" or "athlon64" (without double quotes).
|
|
Processor frequency is of no use.
|
|
2. You don't need specific processor flags, so you'll let
|
|
PROC_TARGET_NUMBER default to 0, but you still have to set the
|
|
PROC_LABEL parameter (see point 1 righ above).
|
|
|
|
- Type:
|
|
make -j4 install
|
|
- Type:
|
|
make macosx_bundle
|
|
- You will find a disk image in the build directory; this is the
|
|
distribution release and can be run on any machine which meets the
|
|
architecture requirements you specified in variants.conf earlier.
|