Difference between revisions of "How to build"

From Medusa: Coordinate Free Mehless Method implementation
Jump to: navigation, search
(Building)
Line 12: Line 12:
 
* [http://www.boost.org/ Boost]
 
* [http://www.boost.org/ Boost]
 
* <syntaxhighlight lang="bash" inline> doxygen >=  1.8.8 </syntaxhighlight> and Graphviz
 
* <syntaxhighlight lang="bash" inline> doxygen >=  1.8.8 </syntaxhighlight> and Graphviz
* (optional, for drawing) [http://www.sfml-dev.org/ SMFL library version 2]
+
* for drawing [http://www.sfml-dev.org/ SMFL library version 2]
* (optional, for IO) [https://www.hdfgroup.org/ HDF5 library]
+
* for IO [https://www.hdfgroup.org/ HDF5 library]
  
 
Out of source builds are preferred. Run
 
Out of source builds are preferred. Run

Revision as of 15:49, 27 October 2016

Installation

Instalation/requirements

  • Clone the repository: git clone https://gitlab.com/e62Lab/e62numcodes.git
  • Go to util and run tests:
    1  ./run_tests.sh
    
    • This will check the configuration, resolve dependencies, build and run all tests, check code style and docs.

Building

List of dependencies:

Out of source builds are preferred. Run

1 mkdir -p build
2 cd build
3 cmake ..
4 make

Note that you only have to run cmake once, after that only make is sufficient.

Binaries are placed into bin folder. Test can be run all at once via make run_all_tests or individually via eg. make basisfunc_run_tests.

Linear Algebra

We use Eigen as our matrix library. See here for use reference and documentation. For a quick transition from Matlab see here.

Drawing

Some tests include drawing. We are using SMFL library, which can be installed on most linux systems easly as sudo apt-get install libsfml-dev or sudo pacman -S sfml. After the installation uncomment a test case in domain_draw_test.cpp and run make test_domain_draw to see the visual effect.

Binaries using SFML require additional linker flags -lsfml-graphics -lsfml-window -lsfml-system, but the makefile should take care of that for you.

HDF5

In order to use IO you need hdf5 library. You can install it easily using the command sudo apt-get install libhdf5- dev or sudo pacman -S hdf5-cpp-fortran.