Building Trilinos with YAML

Dan Ibanez edited this page Mar 24, 2017 · 2 revisions

Building yaml-cpp

The C++ parser library for YAML is called yaml-cpp, and can be found here. To grab the source code, just run:

git clone git@github.com:jbeder/yaml-cpp.git

The latest version of yaml-cpp has no dependencies, so it is very straight forward to compile. Here is a sample do-config.sh script that I use for it:

#!/bin/bash -ex
cmake $HOME/src/yaml-cpp \
-DCMAKE_C_COMPILER:FILEPATH=$HOME/install/gcc/mpich/bin/mpicc \
-DCMAKE_CXX_COMPILER:FILEPATH=$HOME/install/gcc/mpich/bin/mpicxx \
-DCMAKE_INSTALL_PREFIX:PATH=$HOME/install/gcc/yaml-cpp \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DYAML_CPP_BUILD_TOOLS:BOOL=OFF \
2>&1 | tee config_log

Note that yaml-cpp is a TPL for us, meaning we don't need to rebuild it nightly, we can install it once and upgrade it occasionally.

Using a SEMS module

On machines that have SEMS modules, yaml-cpp is provided as a SEMS module.

Building Trilinos with YAML enabled

I add the following to the Trilinos do-config.sh:

-DTPL_ENABLE_yaml-cpp:BOOL=ON \
-Dyaml-cpp_INCLUDE_DIRS:PATH=$HOME/install/gcc/yaml-cpp/include \
-Dyaml-cpp_LIBRARY_DIRS:PATH=$HOME/install/gcc/yaml-cpp/lib \
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.