Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block. This is no longer the preferred style.
NOTE: MUST USE GNU compliant version of sed
Run the following shell code:
for c in else endif endforeach endfunction endmacro endwhile; do
echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed \
&& git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' \
| xargs -0 gsed -i -f convert.sed \
&& rm convert.sed
29 lines
969 B
CMake
29 lines
969 B
CMake
# - 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()
|
|
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()
|
|
endmacro()
|
|
|
|
|