-
Notifications
You must be signed in to change notification settings - Fork 11
Build
GRAS is packaged along with a compatible version of GNU Radio, GREX, and several sub-projects needed as build dependencies. Checking out the source will automatically checkout, build, and install these sub-projects.
- Theron: http://www.theron-library.com/
- Apology: https://github.com/guruofquality/Apology
- PMC: https://github.com/guruofquality/PMC/wiki
- GNU Radio: http://gnuradio.org/redmine/projects/gnuradio
- GREX: https://github.com/guruofquality/grex/wiki
GRAS itself only requires CMake, C++, and libboost. The vast majority of the dependencies are GNU Radio requirements. All GNU Radio dependencies can be found in your OS's package manager or through the download-able installers. See:
- http://gnuradio.org/redmine/projects/gnuradio/wiki/BuildGuide#I-Meet-dependencies
- --OR-- http://gnuradio.org/redmine/projects/gnuradio/wiki/CMakeWork
Outside of these dependencies, if you have a linux system, you may want to (optionally) install libnuma. When built with libnuma support, GRAS will gain API control for things like thread and processor node affinity. Also, to use the JIT factory, GRAS will need to be built with Clang and LLVM development files installed.
On a Debian style system, the following will install the extra dependencies:
sudo apt-get install libnuma-dev libclang-dev llvm-dev
git clone http://github.com/guruofquality/gras.git cd gras git submodule init git submodule update
-- UPDATING FROM EXISTING CHECKOUT --
cd gras git pull origin master git submodule update
mkdir <build-dir> cd <build-dir> cmake <gras-source-dir> make sudo make install sudo ldconfig
- configure the project with cmake
- point cmake to build-dir, source-dir, dependencies
- very similar to http://gnuradio.org/redmine/projects/gnuradio/wiki/CMakeWork
- click generate to create MSVC solution file
- open MSVC gras.sln solution file
- ALL_BUILD
- RUN_TESTS
- INSTALL