summaryrefslogtreecommitdiffstats
path: root/config/cmake/HDF5UseFortran.cmake
diff options
context:
space:
mode:
authorJulien Schueller <schueller@phimeca.com>2023-04-11 19:28:32 (GMT)
committerGitHub <noreply@github.com>2023-04-11 19:28:32 (GMT)
commit70d9616672161eb577bbc5d9763af1414db862e2 (patch)
tree7c5157abae2db39eb72ccbbe843d12dc621c2c66 /config/cmake/HDF5UseFortran.cmake
parent3bca79c7aa9a03264b9aa370286a1dfaaf4172e1 (diff)
downloadhdf5-70d9616672161eb577bbc5d9763af1414db862e2.zip
hdf5-70d9616672161eb577bbc5d9763af1414db862e2.tar.gz
hdf5-70d9616672161eb577bbc5d9763af1414db862e2.tar.bz2
CMake: Let runtime checks through stdout only (#2666)
This avoids mixing emulators errors on stderr to configure results while cross-compiling with wine.
Diffstat (limited to 'config/cmake/HDF5UseFortran.cmake')
-rw-r--r--config/cmake/HDF5UseFortran.cmake29
1 files changed, 17 insertions, 12 deletions
diff --git a/config/cmake/HDF5UseFortran.cmake b/config/cmake/HDF5UseFortran.cmake
index 79084cb..aae7078 100644
--- a/config/cmake/HDF5UseFortran.cmake
+++ b/config/cmake/HDF5UseFortran.cmake
@@ -39,11 +39,16 @@ macro (FORTRAN_RUN FUNCTION_NAME SOURCE_CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR1
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
"${SOURCE_CODE}"
)
+ if (CMAKE_VERSION VERSION_LESS 3.25)
+ set (_RUN_OUTPUT_VARIABLE "RUN_OUTPUT_VARIABLE")
+ else ()
+ set (_RUN_OUTPUT_VARIABLE "RUN_OUTPUT_STDOUT_VARIABLE")
+ endif()
TRY_RUN (RUN_RESULT_VAR COMPILE_RESULT_VAR
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
LINK_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}"
- RUN_OUTPUT_VARIABLE OUTPUT_VAR
+ ${_RUN_OUTPUT_VARIABLE} OUTPUT_VAR
)
set (${RETURN_OUTPUT_VAR} ${OUTPUT_VAR})
@@ -169,10 +174,10 @@ foreach (KIND ${VAR})
"
PROGRAM main
USE ISO_C_BINDING
- USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : stderr=>ERROR_UNIT
+ USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : stdout=>OUTPUT_UNIT
IMPLICIT NONE
INTEGER (KIND=${KIND}) a
- WRITE(stderr,'(I0)') ${FC_SIZEOF_A}
+ WRITE(stdout,'(I0)') ${FC_SIZEOF_A}
END
"
)
@@ -210,10 +215,10 @@ foreach (KIND ${VAR} )
"
PROGRAM main
USE ISO_C_BINDING
- USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : stderr=>ERROR_UNIT
+ USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : stdout=>OUTPUT_UNIT
IMPLICIT NONE
REAL (KIND=${KIND}) a
- WRITE(stderr,'(I0)') ${FC_SIZEOF_A}
+ WRITE(stdout,'(I0)') ${FC_SIZEOF_A}
END
"
)
@@ -252,17 +257,17 @@ set (PROG_SRC3
"
PROGRAM main
USE ISO_C_BINDING
- USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : stderr=>ERROR_UNIT
+ USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : stdout=>OUTPUT_UNIT
IMPLICIT NONE
INTEGER a
REAL b
DOUBLE PRECISION c
- WRITE(stderr,*) ${FC_SIZEOF_A}
- WRITE(stderr,*) kind(a)
- WRITE(stderr,*) ${FC_SIZEOF_B}
- WRITE(stderr,*) kind(b)
- WRITE(stderr,*) ${FC_SIZEOF_C}
- WRITE(stderr,*) kind(c)
+ WRITE(stdout,*) ${FC_SIZEOF_A}
+ WRITE(stdout,*) kind(a)
+ WRITE(stdout,*) ${FC_SIZEOF_B}
+ WRITE(stdout,*) kind(b)
+ WRITE(stdout,*) ${FC_SIZEOF_C}
+ WRITE(stdout,*) kind(c)
END
"
)