1# - Check if the Fortran function exists. 2# CHECK_TIME_FUNCTION(FUNCTION VARIABLE TYPE) 3# - macro which checks if the Fortran function exists 4# FUNCTION - the name of the Fortran function 5# VARIABLE - variable to store the result 6# 7 8macro(CHECK_TIME_FUNCTION FUNCTION VARIABLE) 9 10 try_compile(RES 11 ${PROJECT_BINARY_DIR}/INSTALL 12 ${PROJECT_SOURCE_DIR}/INSTALL 13 TIMING secondtst_${FUNCTION} 14 OUTPUT_VARIABLE OUTPUT) 15 16 if(RES) 17 set(${VARIABLE} ${FUNCTION} CACHE INTERNAL "Have Fortran function ${FUNCTION}") 18 message(STATUS "Looking for Fortran ${FUNCTION} - found") 19 file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log 20 "Fortran ${FUNCTION} exists. ${OUTPUT} \n\n") 21 else() 22 message(STATUS "Looking for Fortran ${FUNCTION} - not found") 23 file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log 24 "Fortran ${FUNCTION} does not exist. \n ${OUTPUT} \n") 25 endif() 26endmacro() 27 28 29