@@ -278,18 +278,27 @@ endif()
278278
279279# Check the usage of the user provided or automatically found LAPACK libraries
280280if (LAPACK_LIBRARIES)
281- include (CheckFortranFunctionExists)
282- set (CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES} )
283- # Check if new routine of 3.4.0 is in LAPACK_LIBRARIES
284- CHECK_FORTRAN_FUNCTION_EXISTS("dgeqrt" LATESTLAPACK_FOUND)
285- unset (CMAKE_REQUIRED_LIBRARIES)
286- if (LATESTLAPACK_FOUND)
287- message (STATUS "--> LAPACK supplied by user is WORKING, will use ${LAPACK_LIBRARIES} ." )
281+ include (CheckLanguage)
282+ check_language(Fortran)
283+ if (CMAKE_Fortran_COMPILER)
284+ enable_language (Fortran)
285+ include (CheckFortranFunctionExists)
286+ set (CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES} )
287+ # Check if new routine of 3.4.0 is in LAPACK_LIBRARIES
288+ CHECK_FORTRAN_FUNCTION_EXISTS("dgeqrt" LATESTLAPACK_FOUND)
289+ unset (CMAKE_REQUIRED_LIBRARIES)
290+ if (LATESTLAPACK_FOUND)
291+ message (STATUS "--> LAPACK supplied by user is WORKING, will use ${LAPACK_LIBRARIES} ." )
292+ else ()
293+ message (ERROR "--> LAPACK supplied by user is not WORKING or is older than LAPACK 3.4.0, CANNOT USE ${LAPACK_LIBRARIES} ." )
294+ message (ERROR "--> Will use REFERENCE LAPACK (by default)" )
295+ message (ERROR "--> Or Correct your LAPACK_LIBRARIES entry " )
296+ message (ERROR "--> Or Consider checking USE_OPTIMIZED_LAPACK" )
297+ endif ()
288298 else ()
289- message (ERROR "--> LAPACK supplied by user is not WORKING or is older than LAPACK 3.4.0, CANNOT USE ${LAPACK_LIBRARIES} ." )
290- message (ERROR "--> Will use REFERENCE LAPACK (by default)" )
291- message (ERROR "--> Or Correct your LAPACK_LIBRARIES entry " )
292- message (ERROR "--> Or Consider checking USE_OPTIMIZED_LAPACK" )
299+ message (STATUS "--> LAPACK supplied by user is ${LAPACK_LIBRARIES} ." )
300+ message (STATUS "--> CMake couldn't find a Fortran compiler, so it cannot check if the provided LAPACK library works." )
301+ set (LATESTLAPACK_FOUND TRUE )
293302 endif ()
294303endif ()
295304
@@ -350,6 +359,7 @@ endif()
350359# Cache export target
351360set (LAPACK_INSTALL_EXPORT_NAME_CACHE ${LAPACK_INSTALL_EXPORT_NAME} )
352361if (BUILD_TESTING OR LAPACKE_WITH_TMG)
362+ enable_language (Fortran)
353363 if (LATESTLAPACK_FOUND AND LAPACKE_WITH_TMG)
354364 set (CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES} )
355365 # Check if dlatms (part of tmg) is found
0 commit comments