Skip to content
Snippets Groups Projects
Commit 3ed37b8c authored by Timo Koch's avatar Timo Koch
Browse files

[cmake] Replace optim.opts and debug.opts with cmake.opts

One less file to take care of. Switching between release and debug opts
can simply be done by changing one flag (documented in cmake.opts)
parent e6562e2f
No related branches found
No related tags found
1 merge request!1381[cmake] Replace optim.opts and debug.opts with cmake.opts
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'
#"
# set this to "ON" if you want to be able to have the headercheck target
DUMUX_ENABLE_HEADERCHECK=OFF
# 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
-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
-DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS:BOOL=TRUE
"
GXX_WARNING_OPTS=" \
-Wall \
-Wunused \
-Wmissing-include-dirs \
-Wcast-align \
-Wno-sign-compare \
-Wno-unused-parameter"
# additional -W flags for g++ which will lead to many warnings
# -Wextra \
# -Wfloat-equal \
# -Wstrict-overflow \
GXX_OPTS=" \
-fno-strict-aliasing \
-fstrict-overflow \
-g"
# configure flags
CMAKE_FLAGS="\
-DCMAKE_CXX_FLAGS=\"$GXX_WARNING_OPTS $GXX_OPTS\" \
-DUG_DIR=ug_installation_path \
"
# optional configure flags
# for the CO2 and CO2ni tests enable the experimental grid extension
# and make sure the module dune-alugrid is present
# -DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS=TRUE \
GXX_WARNING_OPTS=" \
-Wall \
-Wunused \
-Wmissing-include-dirs \
-Wcast-align \
-Wno-sign-compare \
-Wno-unused-parameter"
# additional -W flags for g++ which will lead to many warnings
# -Wextra \
# -Wfloat-equal \
# -Wstrict-overflow \
GXX_OPTS=" \
-fno-strict-aliasing \
-fstrict-overflow \
-fno-finite-math-only \
-O3 \
-march=native \
-DNDEBUG=1"
# configure flags
CMAKE_FLAGS=" \
-DCMAKE_CXX_FLAGS=\"$GXX_WARNING_OPTS $GXX_OPTS\" \
-DUG_DIR=ug_installation_path \
"
# optional configure flags
# for the CO2 and CO2ni tests enable the experimental grid extension
# and make sure the module dune-alugrid is present
# -DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS=TRUE \
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment