Merge branch 'modern-CMake-preprocessing' into 'development'
Modern CMake preprocessing See merge request damask/DAMASK!887
This commit is contained in:
commit
ccf4867e0c
|
@ -29,6 +29,8 @@ else()
|
||||||
endif()
|
endif()
|
||||||
add_definitions("-D${DAMASK_SOLVER}")
|
add_definitions("-D${DAMASK_SOLVER}")
|
||||||
|
|
||||||
|
set(CMAKE_Fortran_PREPROCESS "ON")
|
||||||
|
|
||||||
# EXPERIMENTAL: This might help to detect HDF5 and FFTW3 in the future if PETSc is not aware of them
|
# EXPERIMENTAL: This might help to detect HDF5 and FFTW3 in the future if PETSc is not aware of them
|
||||||
set(ENV{PKG_CONFIG_PATH} "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/externalpackages:$ENV{PKG_CONFIG_PATH}")
|
set(ENV{PKG_CONFIG_PATH} "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/externalpackages:$ENV{PKG_CONFIG_PATH}")
|
||||||
pkg_check_modules(HDF5 hdf5)
|
pkg_check_modules(HDF5 hdf5)
|
||||||
|
@ -91,27 +93,24 @@ if(CMAKE_BUILD_TYPE STREQUAL "SYNTAXONLY")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
|
||||||
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
|
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
|
||||||
include(Compiler-GNU)
|
|
||||||
set(Fortran_COMPILER_VERSION_MIN 9.1)
|
set(Fortran_COMPILER_VERSION_MIN 9.1)
|
||||||
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
|
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
|
||||||
include(Compiler-Intel)
|
|
||||||
set(Fortran_COMPILER_VERSION_MIN 19)
|
set(Fortran_COMPILER_VERSION_MIN 19)
|
||||||
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "IntelLLVM")
|
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "IntelLLVM")
|
||||||
include(Compiler-IntelLLVM)
|
|
||||||
set(Fortran_COMPILER_VERSION_MIN 19)
|
set(Fortran_COMPILER_VERSION_MIN 19)
|
||||||
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "LLVMFlang")
|
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "LLVMFlang")
|
||||||
include(Compiler-LLVMFlang)
|
|
||||||
set(Fortran_COMPILER_VERSION_MIN 19)
|
set(Fortran_COMPILER_VERSION_MIN 19)
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Compiler '${CMAKE_Fortran_COMPILER_ID}' not supported")
|
message(FATAL_ERROR "Compiler '${CMAKE_Fortran_COMPILER_ID}' not supported")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_Fortran_COMPILER_VERSION VERSION_LESS Fortran_COMPILER_VERSION_MIN)
|
if(CMAKE_Fortran_COMPILER_VERSION VERSION_LESS Fortran_COMPILER_VERSION_MIN)
|
||||||
message(FATAL_ERROR "Version '${CMAKE_Fortran_COMPILER_VERSION}' of '${CMAKE_Fortran_COMPILER_ID}' is not supported")
|
message(FATAL_ERROR "Version '${CMAKE_Fortran_COMPILER_VERSION}' of '${CMAKE_Fortran_COMPILER_ID}' is not supported")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
||||||
|
include("Compiler-${CMAKE_Fortran_COMPILER_ID}")
|
||||||
|
|
||||||
file(STRINGS "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib/petsc/conf/petscvariables" PETSC_EXTERNAL_LIB REGEX "PETSC_EXTERNAL_LIB_BASIC = .*$?")
|
file(STRINGS "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib/petsc/conf/petscvariables" PETSC_EXTERNAL_LIB REGEX "PETSC_EXTERNAL_LIB_BASIC = .*$?")
|
||||||
string(REPLACE "PETSC_EXTERNAL_LIB_BASIC = " "" PETSC_EXTERNAL_LIB "${PETSC_EXTERNAL_LIB}")
|
string(REPLACE "PETSC_EXTERNAL_LIB_BASIC = " "" PETSC_EXTERNAL_LIB "${PETSC_EXTERNAL_LIB}")
|
||||||
message("PETSC_EXTERNAL_LIB:\n${PETSC_EXTERNAL_LIB}\n")
|
message("PETSC_EXTERNAL_LIB:\n${PETSC_EXTERNAL_LIB}\n")
|
||||||
|
|
|
@ -19,9 +19,6 @@ set (STANDARD_CHECK "-std=f2018 -pedantic-errors" )
|
||||||
|
|
||||||
#------------------------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------------------------
|
||||||
# Fine tuning compilation options
|
# Fine tuning compilation options
|
||||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -cpp")
|
|
||||||
# preprocessor
|
|
||||||
|
|
||||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fPIE")
|
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fPIE")
|
||||||
# position independent code
|
# position independent code
|
||||||
|
|
||||||
|
|
|
@ -22,9 +22,6 @@ set (LINKER_FLAGS "${LINKER_FLAGS} -shared-intel")
|
||||||
|
|
||||||
#------------------------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------------------------
|
||||||
# Fine tuning compilation options
|
# Fine tuning compilation options
|
||||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fpp")
|
|
||||||
# preprocessor
|
|
||||||
|
|
||||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -no-ftz")
|
set (COMPILE_FLAGS "${COMPILE_FLAGS} -no-ftz")
|
||||||
# disable flush underflow to zero, will be set if -O[1,2,3]
|
# disable flush underflow to zero, will be set if -O[1,2,3]
|
||||||
|
|
||||||
|
|
|
@ -24,9 +24,6 @@ set (LINKER_FLAGS "${LINKER_FLAGS} -shared-intel -fc=ifx")
|
||||||
|
|
||||||
#------------------------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------------------------
|
||||||
# Fine tuning compilation options
|
# Fine tuning compilation options
|
||||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fpp")
|
|
||||||
# preprocessor
|
|
||||||
|
|
||||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -no-ftz")
|
set (COMPILE_FLAGS "${COMPILE_FLAGS} -no-ftz")
|
||||||
# disable flush underflow to zero, will be set if -O[1,2,3]
|
# disable flush underflow to zero, will be set if -O[1,2,3]
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@ if (OPENMP)
|
||||||
set (OPENMP_FLAGS "-fopenmp")
|
set (OPENMP_FLAGS "-fopenmp")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
set (STANDARD_CHECK "-std=f2018 -pedantic" )
|
||||||
|
|
||||||
#------------------------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------------------------
|
||||||
# Fine tuning compilation options
|
# Fine tuning compilation options
|
||||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -cpp")
|
|
||||||
# preprocessor
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue