CONFIG: update compiler minimums (gcc-7.5.0) and standard (c++14)

This commit is contained in:
Mark Olesen 2023-08-11 10:50:11 +02:00
parent 4daaf6dd2a
commit 066a5a997a
5 changed files with 59 additions and 58 deletions

View File

@ -6,7 +6,7 @@
# \\ / A nd | www.openfoam.com # \\ / A nd | www.openfoam.com
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Copyright (C) 2020 OpenCFD Ltd. # Copyright (C) 2020-2023 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
@ -116,11 +116,10 @@ export WM_PROJECT_DIR="$projectDir"
# #
# parse this type of content # parse this type of content
# ---- # ----
# default_clang_version=llvm-3.7.1 # default_clang_version=llvm-[digits].[digits].[digits]
# default_gcc_version=gcc-4.8.5 # default_gcc_version=gcc-[digits].[digits].[digits]
# #
# Gcc48*) gcc_version=gcc-4.8.5 ;; # Gcc121*) gcc_version=gcc-[digits].[digits].[digits] ;;
# Gcc49*) gcc_version=gcc-4.9.4 ;;
# ---- # ----
queryCompiler() queryCompiler()

View File

@ -1,10 +1,10 @@
## OpenFOAM® System Requirements ## OpenFOAM® System Requirements
OpenFOAM requires a functioning C++11 compiler and GNU `make` build toolchain. OpenFOAM requires a functioning C++14 compiler and GNU `make` build toolchain.
### Minimum recommended versions ### Minimum recommended versions
- gcc : 4.8.5 (absolute minimum, not really recommended) - gcc : 7.5.0 (minimum, not necessarily recommended)
- cmake: 3.8 (required for ParaView and CGAL build) - cmake: 3.8 (required for ParaView and CGAL build)
- boost: 1.48 (required for CGAL build and some functionality) - boost: 1.48 (required for CGAL build and some functionality)
- fftw: 3.3.7 (recommended - required for FFT-related functionality) - fftw: 3.3.7 (recommended - required for FFT-related functionality)
@ -217,4 +217,4 @@ at any later stage _without_ recompiling OpenFOAM itself.
[wiki-config]: https://develop.openfoam.com/Development/openfoam/-/wikis/configuring [wiki-config]: https://develop.openfoam.com/Development/openfoam/-/wikis/configuring
--- ---
Copyright 2019-2022 OpenCFD Ltd Copyright 2019-2023 OpenCFD Ltd

View File

@ -6,7 +6,7 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Copyright (C) 2016 OpenFOAM Foundation # Copyright (C) 2016 OpenFOAM Foundation
# Copyright (C) 2016-2022 OpenCFD Ltd. # Copyright (C) 2016-2023 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
@ -58,8 +58,8 @@ switch ("$WM_COMPILER_TYPE")
case ThirdParty: case ThirdParty:
# Default/minimum versions (compiler, GMP, MPFR, MPC) - override as needed # Default/minimum versions (compiler, GMP, MPFR, MPC) - override as needed
set default_clang_version=llvm-3.7.1 set default_clang_version=llvm-5.0.2
set default_gcc_version=gcc-4.8.5 set default_gcc_version=gcc-7.5.0
set default_gmp_version=gmp-system set default_gmp_version=gmp-system
set default_mpfr_version=mpfr-system set default_mpfr_version=mpfr-system
@ -127,6 +127,7 @@ case ThirdParty:
case Gcc75*: case Gcc75*:
set gcc_version=gcc-7.5.0 set gcc_version=gcc-7.5.0
breaksw breaksw
# Older : no assurance that they still work for OpenFOAM
case Gcc74*: case Gcc74*:
set gcc_version=gcc-7.4.0 set gcc_version=gcc-7.4.0
breaksw breaksw
@ -159,24 +160,24 @@ case ThirdParty:
case Gcc55*: case Gcc55*:
set gcc_version=gcc-5.5.0 set gcc_version=gcc-5.5.0
breaksw breaksw
case Gcc54*: #ancient# case Gcc54*:
set gcc_version=gcc-5.4.0 #ancient# set gcc_version=gcc-5.4.0
breaksw #ancient# breaksw
case Gcc53*: #ancient# case Gcc53*:
set gcc_version=gcc-5.3.0 #ancient# set gcc_version=gcc-5.3.0
breaksw #ancient# breaksw
case Gcc52*: #ancient# case Gcc52*:
set gcc_version=gcc-5.2.0 #ancient# set gcc_version=gcc-5.2.0
breaksw #ancient# breaksw
case Gcc51*: #ancient# case Gcc51*:
set gcc_version=gcc-5.1.0 #ancient# set gcc_version=gcc-5.1.0
breaksw #ancient# breaksw
case Gcc49*: #ancient# case Gcc49*:
set gcc_version=gcc-4.9.4 #ancient# set gcc_version=gcc-4.9.4
breaksw #ancient# breaksw
case Gcc48*: #ancient# case Gcc48*:
set gcc_version=gcc-4.8.5 #ancient# set gcc_version=gcc-4.8.5
breaksw #ancient# breaksw
case Clang: case Clang:
set clang_version="$default_clang_version" set clang_version="$default_clang_version"
@ -217,18 +218,18 @@ case ThirdParty:
case Clang50*: case Clang50*:
set clang_version=llvm-5.0.2 set clang_version=llvm-5.0.2
breaksw breaksw
case Clang40*: #ancient# case Clang40*:
set clang_version=llvm-4.0.1 #ancient# set clang_version=llvm-4.0.1
breaksw #ancient# breaksw
case Clang39*: #ancient# case Clang39*:
set clang_version=llvm-3.9.1 #ancient# set clang_version=llvm-3.9.1
breaksw #ancient# breaksw
case Clang38*: #ancient# case Clang38*:
set clang_version=llvm-3.8.1 #ancient# set clang_version=llvm-3.8.1
breaksw #ancient# breaksw
case Clang37*: #ancient# case Clang37*:
set clang_version=llvm-3.7.1 #ancient# set clang_version=llvm-3.7.1
breaksw #ancient# breaksw
endsw endsw

View File

@ -6,7 +6,7 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Copyright (C) 2011-2016 OpenFOAM Foundation # Copyright (C) 2011-2016 OpenFOAM Foundation
# Copyright (C) 2016-2022 OpenCFD Ltd. # Copyright (C) 2016-2023 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
@ -58,8 +58,8 @@ case "$WM_COMPILER_TYPE" in
ThirdParty) ThirdParty)
# Default/minimum versions (compiler, GMP, MPFR, MPC) - override as needed # Default/minimum versions (compiler, GMP, MPFR, MPC) - override as needed
default_clang_version=llvm-3.7.1 default_clang_version=llvm-5.0.2
default_gcc_version=gcc-4.8.5 default_gcc_version=gcc-7.5.0
default_gmp_version=gmp-system default_gmp_version=gmp-system
default_mpfr_version=mpfr-system default_mpfr_version=mpfr-system
@ -92,6 +92,7 @@ ThirdParty)
Gcc82*) gcc_version=gcc-8.2.0 ;; Gcc82*) gcc_version=gcc-8.2.0 ;;
Gcc81*) gcc_version=gcc-8.1.0 ;; Gcc81*) gcc_version=gcc-8.1.0 ;;
Gcc75*) gcc_version=gcc-7.5.0 ;; Gcc75*) gcc_version=gcc-7.5.0 ;;
# Older : no assurance that they still work for OpenFOAM
Gcc74*) gcc_version=gcc-7.4.0 ;; Gcc74*) gcc_version=gcc-7.4.0 ;;
Gcc73*) gcc_version=gcc-7.3.0 ;; Gcc73*) gcc_version=gcc-7.3.0 ;;
Gcc72*) gcc_version=gcc-7.2.0 ;; Gcc72*) gcc_version=gcc-7.2.0 ;;
@ -103,12 +104,12 @@ ThirdParty)
Gcc62*) gcc_version=gcc-6.2.0 ;; Gcc62*) gcc_version=gcc-6.2.0 ;;
Gcc61*) gcc_version=gcc-6.1.0 ;; Gcc61*) gcc_version=gcc-6.1.0 ;;
Gcc55*) gcc_version=gcc-5.5.0 ;; Gcc55*) gcc_version=gcc-5.5.0 ;;
Gcc54*) gcc_version=gcc-5.4.0 ;; #ancient# Gcc54*) gcc_version=gcc-5.4.0 ;;
Gcc53*) gcc_version=gcc-5.3.0 ;; #ancient# Gcc53*) gcc_version=gcc-5.3.0 ;;
Gcc52*) gcc_version=gcc-5.2.0 ;; #ancient# Gcc52*) gcc_version=gcc-5.2.0 ;;
Gcc51*) gcc_version=gcc-5.1.0 ;; #ancient# Gcc51*) gcc_version=gcc-5.1.0 ;;
Gcc49*) gcc_version=gcc-4.9.4 ;; #ancient# Gcc49*) gcc_version=gcc-4.9.4 ;;
Gcc48*) gcc_version=gcc-4.8.5 ;; #ancient# Gcc48*) gcc_version=gcc-4.8.5 ;;
Clang) clang_version="$default_clang_version" ;; Clang) clang_version="$default_clang_version" ;;
Clang140*) clang_version=llvm-14.0.5 ;; Clang140*) clang_version=llvm-14.0.5 ;;
@ -123,10 +124,10 @@ ThirdParty)
Clang70*) clang_version=llvm-7.0.1 ;; Clang70*) clang_version=llvm-7.0.1 ;;
Clang60*) clang_version=llvm-6.0.1 ;; Clang60*) clang_version=llvm-6.0.1 ;;
Clang50*) clang_version=llvm-5.0.2 ;; Clang50*) clang_version=llvm-5.0.2 ;;
Clang40*) clang_version=llvm-4.0.1 ;; #ancient# Clang40*) clang_version=llvm-4.0.1 ;;
Clang39*) clang_version=llvm-3.9.1 ;; #ancient# Clang39*) clang_version=llvm-3.9.1 ;;
Clang38*) clang_version=llvm-3.8.1 ;; #ancient# Clang38*) clang_version=llvm-3.8.1 ;;
Clang37*) clang_version=llvm-3.7.1 ;; #ancient# Clang37*) clang_version=llvm-3.7.1 ;;
esac esac

View File

@ -1,12 +1,12 @@
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# C++14 support with gcc-5 and later, but several systems (as of 2021) # gcc compiler
# are still using gcc-4.8.4 (centos7, suse SLES12, ...)
# #
# NOTE if your system gcc is new enough can simply use c++14 too. # On older systems: may need to upgrade the compiler, use a ThirdParty compiler
# or clang to have sufficient C++ language.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
SUFFIXES += .C .cc .cpp .cxx SUFFIXES += .C .cc .cpp .cxx
CC := g++$(COMPILER_VERSION) -std=c++11 CC := g++$(COMPILER_VERSION) -std=c++14
c++ARCH := c++ARCH :=
c++DBUG := c++DBUG :=