mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
Behavior:
Modify HDF5UseFortran.cmake to handle cross-compilation by providing default KINDs and sizes when CMAKE_CROSSCOMPILING is true.
Default values for INTEGER and REAL KINDs and their sizes are set when cross-compiling.
Error messages are adjusted to reflect cross-compilation scenarios.
Logic:
Conditional checks added for CMAKE_CROSSCOMPILING to determine if default values should be used.
Default values include INTEGER KINDs {1,2,4,8,16} and REAL KINDs {4,8,10,16}.
Default sizes for native kinds are set to 4 for INTEGER and REAL, and 8 for DOUBLE PRECISION when cross-compiling.
Misc:
Adjustments to verbose messages to indicate when defaults are used during cross-compilation.
19 lines
876 B
CMake
19 lines
876 B
CMake
set(TOOLCHAIN_PREFIX aarch64-linux-gnu)
|
|
set(CMAKE_SYSTEM_NAME Linux)
|
|
set(CMAKE_SYSTEM_PROCESSOR aarch64)
|
|
#set (CMAKE_ANDROID_ARCH_ABI x86_64)
|
|
#set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake)
|
|
set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc)
|
|
set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++)
|
|
#set (CMAKE_RC_COMPILER ${TOOLCHAIN_PREFIX}-windres)
|
|
set (CMAKE_Fortran_COMPILER ${TOOLCHAIN_PREFIX}-gfortran)
|
|
set (CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX})
|
|
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
|
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
|
set(CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.")
|
|
|
|
include_directories(/usr/${TOOLCHAIN_PREFIX}/include)
|
|
|