Co-Developing with Axom and MFEMΒΆ
Occasionally, Serac developers may want to patch fixes and useful features back to MFEM and Axom. A co-development build environment is available to expedite this process via git submodules.
To enable a co-develop workflow, use the following steps from the root serac directory:
Initialize submodules. Axom and MFEM are submodules of the Serac repository. The following command recursively updates all submodules:
$ git submodule update --init --recursive
Generate Build System via CMake. Configure our CMake build with the co-develop option using a local host-config (CMake initial cache) generated by Spack. You can do this one of two ways:
# Option 1: This uses CMake to configure Axom, MFEM, and Serac in one step. $ ./config-build.py -hc <host config file> -DSERAC_ENABLE_CODEVELOP=ON $ cd <build directory> # this is autogenerated by script based on host-config name # Option 2: $ mkdir <build directory> $ cd <build directory> $ cmake -C <host config file> -DSERAC_ENABLE_CODEVELOP=ON ..
Build/Test code. Build MFEM, Axom, and Serac:
$ make -j $ make -j test