Skip to content

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