Giter VIP home page Giter VIP logo

brainstools's Introduction

The BRAINSTools is a harness to assist in building the many of the BRAINSTools under development.

Developers should run the ./Utilities/SetupForDevelopment.sh script to get started.

If developing on Mac OS X, make sure the xcode command line tools are installed with the command: xcode-select --install

For more information on the individual BRAINSTools, please see the following link: https://github.com/BRAINSia/BRAINSTools/wiki

Building

Mac OSX and Linux RedHat 6

Example session for a clean build:

mkdir ~/src/mytester
cd ~/src/mytester
git clone git://github.com/BRAINSia/BRAINSTools.git

cd BRAINSTools/
bash ./Utilities/SetupForDevelopment.sh

mkdir -p ../BRAINSTools-build
cd ../BRAINSTools-build/
CC=/usr/bin/gcc-4.2 CXX=/usr/bin/g++-4.2 ccmake ../BRAINSTools \
    -DUSE_BRAINSConstellationDetector:BOOL=ON \
    -DUSE_BRAINSABC:BOOL=ON
## NOTE: If you are using a version of Python different from the system default, CMake will ignore your
##       environment variables.  To ensure CMake points to the right version, you need to set the
##       following variables as well:
## -DPYTHON_LIBRARY:PATH=/path/to/python/lib \
## -DPYTHON_INCLUDE_DIR:PATH=/path/to/python/include

make -j${NUMOFTHREADS} -k

## NOTE: The fetching of data still has problems with parallel builds, so we need to restart it at least
#        once
make

Ubuntu 14.04

Building BRAINSTools on a fresh Ubuntu install is a trivial task:

  1. Install the necessary dependencies
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git cmake cmake-curses-gui python2.7
python2.7-dev g++ freeglut3-dev
  1. Clone the repository and build
git clone https://github.com/BRAINSia/BRAINSTools.git
mkdir build
cd build
CC=/usr/bin/gcc-4.8 \
CXX=/usr/bin/g++-4.8 \
cmake ../BRAINSTools \
-DPYTHON_INCLUDE_DIR:PATH=/usr/include/python2.7 \
-DPYTHON_INCLUDE_DIR2:PATH=/usr/include/x86_64-linux-gnu/python2.7 \
-DPYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython2.7.so \
-DBUILD_TESTING:BOOL=OFF
make -j${NUMOFTHREADS} -k

โš ๏ธ You can find the number of threads on your system in Ubuntu with lscpu

Testing

BRAINSTools_MAX_TEST_LEVEL adjusts how agressive the test suite is so that long running tests or incomplete tests can easily be silenced

1 - Run the absolute minimum very fast tests (These should always pass before any code commit)
3 - Run fast tests on continous builds (These need immediate attention if they begin to fail)
5 - Run moderate nightly tests (These need immediate attention if they begin to fail)
7 - Run long running extensive test that are a burden to normal development (perhaps test 1x per week)
8 - Run tests that fail due to incomplete test building, these are good ideas for test that we don't have time to make robust)
9 - Run silly tests that don't have much untility
set(BRAINSTools_MAX_TEST_LEVEL 3 CACHE STRING "Testing level for managing test burden")

brainstools's People

Contributors

hjmjohnson avatar aghayoor avatar dmwelch avatar reginakim avatar jessicaforbes avatar jcfr avatar fedorov avatar lwen avatar matsuij avatar finetjul avatar lassoan avatar karenpease avatar ajjl avatar chrisgorgo avatar langstraat avatar pipitone avatar josephsnyder avatar pieper avatar

Stargazers

GaoxingZheng avatar

Watchers

Fauze Polpeta avatar

Forkers

srinivest

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.