Skip to content

Commit 6ad3e07

Browse files
committed
fix for newer compilers
1 parent 90bdbd9 commit 6ad3e07

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

CMakeLists.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ set(ENV{PKG_CONFIG_PATH} "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/externalpackages:$ENV
3333
pkg_check_modules(HDF5 hdf5)
3434
pkg_check_modules(FFTW3 fftw3)
3535
pkg_check_modules(fYAML libfyaml)
36+
if(DAMASK_SOLVER_UPPER STREQUAL "GRID")
3637
pkg_check_modules(zlib zlib)
38+
endif()
3739

3840
file(STRINGS ${PROJECT_SOURCE_DIR}/VERSION DAMASK_VERSION)
3941

@@ -142,14 +144,19 @@ message("PETSC_INCLUDES:\n${PETSC_INCLUDES}\n")
142144
set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${BUILDCMD_PRE} ${OPENMP_FLAGS} ${STANDARD_CHECK} ${OPTIMIZATION_FLAGS} ${COMPILE_FLAGS}")
143145
set(CMAKE_Fortran_LINK_EXECUTABLE "${BUILDCMD_PRE} ${CMAKE_Fortran_COMPILER} ${OPENMP_FLAGS} ${OPTIMIZATION_FLAGS} ${LINKER_FLAGS}")
144146

147+
set(CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}} ${PETSC_INCLUDES}") # zlib installed via PETSc
148+
145149
if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
146150
set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}} ${DEBUG_FLAGS}")
147151
set(CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} ${DEBUG_FLAGS}")
148152
endif()
149153

150154
set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}} ${PETSC_INCLUDES} ${BUILDCMD_POST}")
151155

152-
set(CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -L${PETSC_LIBRARY_DIRS} -lpetsc ${PETSC_EXTERNAL_LIB} -lz")
156+
set(CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -L${PETSC_LIBRARY_DIRS} -lpetsc ${PETSC_EXTERNAL_LIB}")
157+
if(DAMASK_SOLVER_UPPER STREQUAL "GRID")
158+
set(CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} -lz")
159+
endif()
153160

154161
if(fYAML_FOUND STREQUAL "1")
155162
set(CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} -L${fYAML_LIBRARY_DIRS}")

cmake/Compiler-IntelLLVM.cmake

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,15 @@ if (OPTIMIZATION STREQUAL "OFF" OR OPTIMIZATION STREQUAL "DEBUG")
1010
elseif (OPTIMIZATION STREQUAL "DEFENSIVE")
1111
set (OPTIMIZATION_FLAGS "-O2")
1212
elseif (OPTIMIZATION STREQUAL "AGGRESSIVE")
13-
#set (OPTIMIZATION_FLAGS "-ipo -O3 -fp-model fast=2 -xHost") # ifx 2022.0 has problems with YAML types and IPO
14-
set (OPTIMIZATION_FLAGS "-O3 -fp-model fast=2 -xHost")
13+
set (OPTIMIZATION_FLAGS "-O3 -fp-model strict -xHost -align array64byte") # -ipo/-flto give linker error
1514
endif ()
1615

1716
# -assume std_mod_proc_name (included in -standard-semantics) causes problems if other modules
1817
# (PETSc, HDF5) are not compiled with this option (https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/62172)
19-
set (STANDARD_CHECK "-stand f18 -assume nostd_mod_proc_name")
18+
set (STANDARD_CHECK "-stand f23 -assume nostd_mod_proc_name")
2019
set (LINKER_FLAGS "${LINKER_FLAGS} -shared-intel")
2120
# Link against shared Intel libraries instead of static ones
22-
set (LINKER_FLAGS "${LINKER_FLAGS} -shared-intel -fc=ifx")
21+
set (LINKER_FLAGS "${LINKER_FLAGS} -fc=ifx")
2322
# enforce use of ifx for MPI wrapper
2423

2524
#------------------------------------------------------------------------------------------------

0 commit comments

Comments
 (0)