-
Mathis Kelm authoredMathis Kelm authored
cmake.opts 2.29 KiB
# SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
# SPDX-License-Identifier: CC0-1.0
GXX_RELEASE_WARNING_OPTS=" \
-Wall \
-Wunused \
-Wmissing-include-dirs \
-Wcast-align \
-Wno-missing-braces \
-Wmissing-field-initializers \
-Wno-sign-compare"
GXX_RELEASE_OPTS=" \
-fdiagnostics-color=always \
-fno-strict-aliasing \
-fstrict-overflow \
-fno-finite-math-only \
-DNDEBUG=1 \
-O3 \
-march=native \
-funroll-loops \
-g0"
SPECIFIC_COMPILER=""
# if you want to specify a specific compiler, do it by setting (comment the above line)
#SPECIFIC_COMPILER="
# -DCMAKE_C_COMPILER=/usr/bin/gcc-8
# -DCMAKE_CXX_COMPILER=/usr/bin/g++-8
#"
SPECIFIC_GENERATOR=""
# if you want to specify a specific make file generator (e.g. ninja), do it by setting (comment the above line)
#SPECIFIC_GENERATOR="
# -DCMAKE_GENERATOR='Ninja'
# -DCMAKE_MAKE_PROGRAM='/usr/bin/ninja'
#"
OPM_FLAGS=""
# to build opm it might be necessary to set manually the following variables (comment the above line)
#OPM_FLAGS="
#-DUSE_MPI=ON
#"
# set this to "ON" if you want to be able to have the headercheck target
DUMUX_ENABLE_HEADERCHECK=OFF
# DuMux Python bindings require shared libraries to be built for DuMux and upstream modules
DUMUX_ENABLE_PYTHON_BINDINGS="-DDUNE_ENABLE_PYTHONBINDINGS=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON"
#DUMUX_ENABLE_PYTHON_BINDINGS=""
# set multithreading backend, e.g. OpenMP,TBB,Cpp,Kokkos,Serial
# if left empty, it is automatically set by cmake
DUMUX_MULTITHREADING_BACKEND=""
#DUMUX_MULTITHREADING_BACKEND="-DDUMUX_MULTITHREADING_BACKEND=OpenMP"
# for debug opts you can set DCMAKE_BUILD_TYPE to "Debug" or "RelWithDebInfo"
# you can also do this in any of the CMakeLists.txt in Dumux
# just rerun cmake again afterwards (run cmake <path-to-build-dir>)
CMAKE_FLAGS="$SPECIFIC_COMPILER $SPECIFIC_GENERATOR $OPM_FLAGS
-DCMAKE_CXX_FLAGS_RELEASE='$GXX_RELEASE_OPTS $GXX_RELEASE_WARNING_OPTS'
-DCMAKE_CXX_FLAGS_DEBUG='-O0 -g -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare'
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO='$GXX_RELEASE_OPTS $GXX_RELEASE_WARNING_OPTS -g -ggdb -Wall'
-DCMAKE_BUILD_TYPE=Release
-DENABLE_HEADERCHECK=$DUMUX_ENABLE_HEADERCHECK
$DUMUX_ENABLE_PYTHON_BINDINGS
$DUMUX_MULTITHREADING_BACKEND
"