diff --git a/README.md b/README.md index 253a338..dd15ac7 100644 --- a/README.md +++ b/README.md @@ -1,70 +1,82 @@ # Dependencies ## Core FFTW3_OMP, swig3, python(2|3), numpy, g++ with C++14 support ## Doc Doxygen, Mercurial # Build +## First time building + +For the first build, you should compile Criterion, a library used for tests: + + git submodule update --init --recursive + cd third-party/Criterion + mkdir build + cd build + cmake .. + cmake --build . + cd ../.. + The build system uses SCons. In order to construct the library you should hit: scons And to speedup the process you can do: scons -j 6 In order to clean the build scons -c In order to compile in debug scons build_type=debug Indeed the default was scons build_type=release In order to make the compilation more verbose scons verbose=true For a list of all compilation options: scons -h You can customize a few compilation variables: - `CXX` changes the compiler - `CXXFLAGS` adds flags to the compilation process For example: - `scons CXX=icpc` compiles with the intel C++ compiler - `CXXFLAGS=-mavx2 scons` adds the `-mavx2` flag (which enables some Intel instructions) to the compilation process If the `CXX` variable is defined in your environment, `scons` will take it as a default compiler. ## Build the doxygen scons build_doc=true # Coding ## Python Tamaas is mainly used through the python interface. An example can be found in `examples/new_contact.py` ## C++ TODO: update the example # Paralellism Tamaas features shared-memory paralellism with OpenMP. The number of threads can be controlled via the `OMP_NUM_THREADS` environment variable or the `omp_set_num_thread()` function in the OpenMP API. diff --git a/third-party/Criterion b/third-party/Criterion index b90931d..514b4d8 160000 --- a/third-party/Criterion +++ b/third-party/Criterion @@ -1 +1 @@ -Subproject commit b90931d379aea5644dc9d438e98a4c8fc506bf76 +Subproject commit 514b4d820e2f8fb4daa2b95b69c981853656cb73