rrfsx / mpas-bundle

Apache License 2.0
0 stars 0 forks source link

(C) Copyright 2017-2021 UCAR

This software is licensed under the terms of the Apache Licence Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.

Table of Contents

Installation

Git Configuration

Installation Steps

For performance and memory reasons, it is recommended to compile mpas-bundle using the gnu platform.

Building on a Compute Node

Due to resource limitations, it's recommended to build and run tests on a compute node.

Building in an Interactive Session

Useful CMake Flags

Flag Description Acceptable Values
-G Specifies the generator to use for the build system. Unix Makefiles, Ninja, etc.
-DCMAKE_BUILD_TYPE Defines the type of build. Debug, Release, RelWithDebInfo, MinSizeRel
-DCMAKE_VERBOSE_MAKEFILE Enables verbose output from the makefile, useful for debugging. ON, OFF
-DCMAKE_C_FLAGS Allows specification of additional flags for the C compiler. Compiler flags (e.g., -O3, -Wall, etc.)
-DCMAKE_CXX_FLAGS Allows specification of additional flags for the C++ compiler. Compiler flags (e.g., -O3, -Wall, etc.)
-DCMAKE_Fortran_FLAGS Allows specification of additional flags for the Fortran compiler. Compiler flags (e.g., -O3, -Wall, etc.)
-D Passes any variable definition to CMake, used for custom options in CMakeLists.txt. Variable=Value (e.g., MY_CUSTOM_OPTION=ON, etc.)
--build Builds a CMake-generated project binary tree. Build directory path

Useful CTest Flags

Flag Description Acceptable Values
--build-and-test Build and test a project. Path to project and build tree, additional arguments
--test-action Specifies the action to perform (e.g., test, start, update, configure, build). test, start, update, configure, build
--output-on-failure Output anything from the test program if it fails. N/A
--parallel Run the tests in parallel using the given number of jobs. Number of jobs (e.g., 4)
--schedule-random Schedule tests in random order. N/A
--stop-on-failure Stop running tests after the first test fails. N/A
--timeout Set a global timeout for all tests, after which CTest will kill the test. Timeout in seconds (e.g., 120)
--verbose Enable verbose output from tests. N/A
--repeat Repeat the tests according to a specified mode (e.g., until fail, until pass, after timeout). until-fail, until-pass, after-timeout
--extra-submit Specify files to submit to a dashboard. Files are submitted to the first dashboard mentioned in CTestConfig.cmake. File paths
--label-summary Print a summary of test results grouped by label. N/A
--subproject-summary Print a summary of test results grouped by subproject. N/A
-C or --build-config Specify the configuration type to build/test when using a multi-configuration generator (e.g., Visual Studio). Debug, Release, MinSizeRel, RelWithDebInfo
-R or --tests-regex Run only the tests whose names match the given regular expression. Regular expression (e.g., MyTest*)
-E or --exclude-regex Exclude tests whose names match the given regular expression. Regular expression (e.g., LongRunningTest*)
-L or --label-regex Run only the tests with labels matching the given regular expression. Regular expression (e.g., Nightly*)
-j or --parallel Run the tests in parallel using the given number of jobs. Number of jobs (same as --parallel)