mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
CMake: Fix Fortran cross-compilation support
Refactor the cross-compilation infrastructure to rely on the standard
CMAKE_CROSSCOMPILING_EMULATOR variable instead of the custom
CROSSCOMPILING_PATH environment hack.
Key changes:
- Removed `ENVIRONMENT "${CROSSCOMPILING_PATH}"` from all test definitions.
- Updated custom commands (e.g., H5match_types, H5_gen) to invoke the
emulator explicitly when cross-compiling.
- Updated ConfigureChecks.cmake and HDF5UseFortran.cmake to enable
`try_run` checks when an emulator is defined.
- Added config/toolchain/mingw-w64-x86-64-wine.sh wrapper to automatically
locate MinGW runtime libraries (like libgfortran) for Wine execution.
- Cleaned up toolchain files to remove hardcoded emulator paths, deferring
configuration to the build environment.
This commit is contained in:
@@ -223,7 +223,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
add_test (NAME ${EXAMPLE_VARNAME}_${testname} COMMAND $<TARGET_FILE:${EXAMPLE_VARNAME}_${testname}>)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
else ()
|
||||
add_test (
|
||||
@@ -240,7 +239,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -257,7 +255,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@@ -228,7 +228,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname}-ERR PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
add_test (
|
||||
NAME ${EXAMPLE_VARNAME}_${testname}
|
||||
@@ -254,7 +253,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
set (last_test "${EXAMPLE_VARNAME}_${testname}")
|
||||
@@ -313,7 +311,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
endif ()
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
set (last_test "${EXAMPLE_VARNAME}_H5DUMP-${testname}")
|
||||
endif ()
|
||||
|
||||
@@ -249,7 +249,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -266,7 +265,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -304,7 +302,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -335,7 +332,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -352,7 +348,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname}1 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
add_test (
|
||||
NAME ${EXAMPLE_VARNAME}_H5DUMP-${testname}2
|
||||
@@ -368,7 +363,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname}2 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_H5DUMP-${testname}1
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -397,7 +391,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
@@ -370,7 +370,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -387,7 +386,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -416,7 +414,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
@@ -144,7 +144,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -161,7 +160,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@@ -215,7 +215,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -232,7 +231,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -261,7 +259,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (HDF5_PROVIDES_TOOLS)
|
||||
add_test (
|
||||
@@ -279,7 +276,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_${testname}
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -302,12 +298,10 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
add_test (NAME ${EXAMPLE_VARNAME}_h5ex_lite1 COMMAND $<TARGET_FILE:${EXAMPLE_VARNAME}_h5ex_lite1>)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_h5ex_lite1 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_h5ex_lite-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
add_test (NAME ${EXAMPLE_VARNAME}_h5ex_lite2 COMMAND $<TARGET_FILE:${EXAMPLE_VARNAME}_h5ex_lite2>)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_h5ex_lite2 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_h5ex_lite1
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
else ()
|
||||
add_test (
|
||||
@@ -324,7 +318,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_h5ex_lite1 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_h5ex_lite-clearall
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
add_test (
|
||||
NAME ${EXAMPLE_VARNAME}_h5ex_lite2
|
||||
@@ -340,7 +333,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_h5ex_lite2 PROPERTIES
|
||||
DEPENDS ${EXAMPLE_VARNAME}_h5ex_lite1
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@@ -101,7 +101,6 @@ if (H5EXAMPLE_BUILD_TESTING)
|
||||
endif ()
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_tutr_${testname} PROPERTIES
|
||||
FIXTURES_REQUIRED clear_${EXAMPLE_VARNAME}_tutr
|
||||
ENVIRONMENT "${CROSSCOMPILING_PATH}"
|
||||
)
|
||||
if (last_test)
|
||||
set_tests_properties (${EXAMPLE_VARNAME}_tutr_${testname} PROPERTIES DEPENDS ${last_test})
|
||||
|
||||
Reference in New Issue
Block a user