building.md: add more building information
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user