Private
Public Access
2
0

building.md: add more building information

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
Brendan Le Foll
2015-01-14 15:56:07 +00:00
parent 5af11978ca
commit 26106a2fb4

View File

@@ -4,10 +4,16 @@ Building libmraa {#building}
libmraa uses cmake in order to make compilation relatively painless. Cmake runs libmraa uses cmake in order to make compilation relatively painless. Cmake runs
build out of tree so the recommended way is to clone from git and make a build/ directory. build out of tree so the recommended way is to clone from git and make a build/ directory.
You'll need swig version 3.0.1+, currently I'm using You'll need swig version 3.0.2 and we recommend 3.0.3 to build the javascript
8d226e39dc7a958013ff9ffd15e231ef206ba265 from the swig master branch. This is modules. If you're version of SWIG is older than this then please see below for
only required for javascript support and can be disabled with a cmake define disabling SWIGNODE otherwise you will get a weird build failure.
(see below).
The basic build steps are as follow, we'll assume you're building from git,
note that if you compile with git installed your version of mraa will be tagged
-dirty. This simply means git wasn't installed or that you where building form
a tarball. You can modify build/src/version.c before running make if this is
incorrect. The instructions listed here all assume that build/ is an empty dir
that lives inside the cloned repository of mraa.
~~~~~~~~~~~~~{.sh} ~~~~~~~~~~~~~{.sh}
mkdir build mkdir build
@@ -16,20 +22,23 @@ cmake ..
make make
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
Our cmake configure has a number of options, cmake-gui or ccmake can show you Our cmake configure has a number of options, cmake-gui or ccmake (cmake -i is
all the options. The interesting ones are detailed below: no longer with us :() can show you all the options. A few of the more common
ones are listed below - note that when the option starts with CMAKE_ it's an
option that is made available by cmake and will be similar in all cmake
projects. You need to add them after `cmake` but before `..`.
Few recommended options: A few recommended options:
Changing install path from /usr/local to /usr Changing install path from /usr/local to /usr
-DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_INSTALL_PREFIX:PATH=/usr
Building debug build: Building debug build - adds -g and disables optimisations - this will force a full rebuild:
-DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_BUILD_TYPE=DEBUG
Using clang instead of gcc: Using clang instead of gcc:
-DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang
Building with an older version of swig (swig 2.0+) requires the disabling of javascript: Building with an older version of swig (swig < 3.0.2) requires the disabling of javascript:
-DBUILDSWIGNODE=OFF -DBUILDSWIGNODE=OFF
Disabling python module building Disabling python module building