From 9ac0516ffdbb3357bad0be00e22e6845bc9c13b0 Mon Sep 17 00:00:00 2001 From: vsr Date: Thu, 8 Oct 2020 11:21:10 +0300 Subject: [PATCH] Add option MED_INT_SIZE to know when medfile is built with med_int=long --- cmake/FindSalomeMEDFile.cmake | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/cmake/FindSalomeMEDFile.cmake b/cmake/FindSalomeMEDFile.cmake index b0756a8..bb5e0de 100644 --- a/cmake/FindSalomeMEDFile.cmake +++ b/cmake/FindSalomeMEDFile.cmake @@ -27,7 +27,33 @@ SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(MEDFile MEDFILE_INCLUDE_DIRS 1) #MARK_AS_ADVANCED() +SET(MED_INT_IS_LONG FALSE) # fallback value IF(MEDFile_FOUND) SALOME_ACCUMULATE_HEADERS(MEDFILE_INCLUDE_DIRS) SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH ${MEDFILE_LIBRARIES}) -ENDIF() \ No newline at end of file + + # Check size of med_int + SET(_med_int_cxx ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/check_med_int_size.cxx) + FILE(WRITE ${_med_int_cxx} + "#include \n#include \nint main(){printf(\"%d\", sizeof(med_int)); return 0;}") + TRY_RUN(_med_int_run_result _med_int_compile_results + ${CMAKE_BINARY_DIR} ${_med_int_cxx} + CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${MEDFILE_INCLUDE_DIRS};${HDF5_INCLUDE_DIR}" + LINK_LIBRARIES ${MEDFILE_C_LIBRARIES} + RUN_OUTPUT_VARIABLE _med_int_output) + IF(_med_int_compile_results) + SET(MED_INT_SIZE ${_med_int_output}) + ELSE() + SET(MED_INT_SIZE UNKNOWN) + ENDIF() + IF(MED_INT_SIZE EQUAL 8) + SET(MED_INT_IS_LONG TRUE) + ELSE() + SET(MED_INT_IS_LONG FALSE) + ENDIF() + MESSAGE(STATUS "MEDFile: size of med_int is ${MED_INT_SIZE}") + UNSET(_med_int_cxx) + UNSET(_med_int_run_result) + UNSET(_med_int_compile_results) + UNSET(_med_int_output) +ENDIF() -- 2.39.2