summaryrefslogtreecommitdiff
path: root/CMAKE/CheckTimeFunction.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'CMAKE/CheckTimeFunction.cmake')
-rw-r--r--CMAKE/CheckTimeFunction.cmake28
1 files changed, 28 insertions, 0 deletions
diff --git a/CMAKE/CheckTimeFunction.cmake b/CMAKE/CheckTimeFunction.cmake
new file mode 100644
index 00000000..350a5913
--- /dev/null
+++ b/CMAKE/CheckTimeFunction.cmake
@@ -0,0 +1,28 @@
+# - Check if the Fortran function exists.
+# CHECK_TIME_FUNCTION(FUNCTION VARIABLE TYPE)
+# - macro which checks if the Fortran function exists
+# FUNCTION - the name of the Fortran function
+# VARIABLE - variable to store the result
+#
+
+macro(CHECK_TIME_FUNCTION FUNCTION VARIABLE)
+
+ try_compile(RES
+ ${PROJECT_BINARY_DIR}/INSTALL
+ ${PROJECT_SOURCE_DIR}/INSTALL
+ TIMING secondtst_${FUNCTION}
+ OUTPUT_VARIABLE OUTPUT)
+
+ if(RES)
+ set(${VARIABLE} ${FUNCTION} CACHE INTERNAL "Have Fortran function ${FUNCTION}")
+ message(STATUS "Looking for Fortran ${FUNCTION} - found")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Fortran ${FUNCTION} exists. ${OUTPUT} \n\n")
+ else(RES)
+ message(STATUS "Looking for Fortran ${FUNCTION} - not found")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Fortran ${FUNCTION} does not exist. \n ${OUTPUT} \n")
+ endif(RES)
+endmacro(CHECK_TIME_FUNCTION)
+
+