Skip to content
Snippets Groups Projects
Commit f25f06bc authored by Sergey Kosukhin's avatar Sergey Kosukhin Committed by Yen-Chen Chen
Browse files

Drop cmake anti-pattern (!101)

This removes an anti-pattern from `CMakeLists.txt` (I'm very sorry for introducing it). The most annoying part about it is that it makes it difficult for a parent project (e.g. ICON) to support multi-configuration backends properly. Basically, the only right place to set `CMAKE_BUILD_TYPE` is on the command line when calling `cmake` (and generating for a single-configuration backend). Also, see [here](https://stackoverflow.com/questions/24460486/cmake-build-type-is-not-being-used-in-cmakelists-txt/24470998#24470998

).

Approved-by: default avatarYen-Chen Chen <yen-chen.chen@kit.edu>
Merged-by: default avatarYen-Chen Chen <yen-chen.chen@kit.edu>
Changelog: bugfix
parent f7de0957
No related branches found
No related tags found
1 merge request!101Drop cmake anti-pattern
Pipeline #89058 passed
......@@ -47,7 +47,7 @@ nag:
- export NAG_KUSARI_FILE="/etc/nag-license"
- mkdir nag71
- cd nag71
- /sw/spack-levante/cmake-3.23.1-q5kzz6/bin/cmake .. -DCMAKE_C_COMPILER=gcc -DCMAKE_Fortran_COMPILER=nagfor -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_RPATH=/sw/spack-levante/gcc-11.2.0-bcn7mb/lib64
- /sw/spack-levante/cmake-3.23.1-q5kzz6/bin/cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=gcc -DCMAKE_Fortran_COMPILER=nagfor -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_RPATH=/sw/spack-levante/gcc-11.2.0-bcn7mb/lib64
- make VERBOSE=1
- ctest --output-on-failure
tags:
......@@ -64,7 +64,7 @@ gcc11:
- module load gcc/11.2.0-gcc-11.2.0
- mkdir gcc112
- cd gcc112
- /sw/spack-levante/cmake-3.23.1-q5kzz6/bin/cmake .. -DCMAKE_C_COMPILER=gcc -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_CXX_COMPILER=g++
- /sw/spack-levante/cmake-3.23.1-q5kzz6/bin/cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=gcc -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_CXX_COMPILER=g++
- make VERBOSE=1
- ctest --output-on-failure
tags:
......@@ -81,7 +81,7 @@ intel22:
- module load gcc/11.2.0-gcc-11.2.0 intel-oneapi-compilers/2022.0.1-gcc-11.2.0
- mkdir intel22
- cd intel22
- /sw/spack-levante/cmake-3.23.1-q5kzz6/bin/cmake .. -DCMAKE_C_COMPILER=icc -DCMAKE_Fortran_COMPILER=ifort -DCMAKE_CXX_COMPILER=icpc -DCMAKE_BUILD_RPATH=/sw/spack-levante/gcc-11.2.0-bcn7mb/lib64
- /sw/spack-levante/cmake-3.23.1-q5kzz6/bin/cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=icc -DCMAKE_Fortran_COMPILER=ifort -DCMAKE_CXX_COMPILER=icpc -DCMAKE_BUILD_RPATH=/sw/spack-levante/gcc-11.2.0-bcn7mb/lib64
- make VERBOSE=1
- ctest --output-on-failure
tags:
......@@ -98,7 +98,7 @@ nvhpc:
- module load gcc/11.2.0-gcc-11.2.0 nvhpc/22.5-gcc-11.2.0
- mkdir nvhpc
- cd nvhpc
- /sw/spack-levante/cmake-3.23.1-q5kzz6/bin/cmake .. -DCMAKE_C_COMPILER=nvc -DCMAKE_Fortran_COMPILER=nvfortran -DCMAKE_CXX_COMPILER=nvc++
- /sw/spack-levante/cmake-3.23.1-q5kzz6/bin/cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=nvc -DCMAKE_Fortran_COMPILER=nvfortran -DCMAKE_CXX_COMPILER=nvc++
- make VERBOSE=1
- ctest --output-on-failure
tags:
......@@ -115,7 +115,7 @@ OpenACC:
- module load gcc/11.2.0-gcc-11.2.0 nvhpc/22.5-gcc-11.2.0
- mkdir nvhpc
- cd nvhpc
- /sw/spack-levante/cmake-3.23.1-q5kzz6/bin/cmake .. -DFS_ENABLE_OPENACC=ON -DCMAKE_C_COMPILER=nvc -DCMAKE_Fortran_COMPILER=nvfortran -DCMAKE_CXX_COMPILER=nvc++
- /sw/spack-levante/cmake-3.23.1-q5kzz6/bin/cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFS_ENABLE_OPENACC=ON -DCMAKE_C_COMPILER=nvc -DCMAKE_Fortran_COMPILER=nvfortran -DCMAKE_CXX_COMPILER=nvc++
- make VERBOSE=1
tags:
- levante, hpc, dkrz
......
......@@ -24,17 +24,6 @@ option(FS_ENABLE_OMP "Build with OpenMP support" OFF)
option(FS_ENABLE_OPENACC "Build with OpenACC support" OFF)
option(FS_ENABLE_MIXED_PRECISION "Use mixed precision" OFF)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE
"RelWithDebInfo"
CACHE
STRING
"Choose the type of build, options are: Debug Release RelWithDebInfo"
FORCE)
message(
STATUS "Setting build type to '${CMAKE_BUILD_TYPE}' as none was specified")
endif(NOT CMAKE_BUILD_TYPE)
include(GNUInstallDirs)
add_subdirectory(src)
......
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