@@ -535,26 +535,33 @@ set_target_properties(
535535 )
536536
537537if (BUILD_INDEX64_EXT_API)
538- set (SOURCES_64)
539- file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /${LAPACKLIB} _64_obj)
540- file (COPY ${SOURCES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR} /${LAPACKLIB} _64_obj)
541- file (GLOB SOURCES_64 ${CMAKE_CURRENT_BINARY_DIR} /${LAPACKLIB} _64_obj/*.*)
542- list (REMOVE_ITEM SOURCES_64 la_xisnan.F90)
543- foreach (F IN LISTS SOURCES_64)
544- set (FFILE "" )
545- file (READ ${F} FFILE)
546- file (WRITE ${F} "#include \" lapack_64.h\"\n " )
547- file (APPEND ${F} "${FFILE} " )
548- endforeach ()
549- file (COPY lapack_64.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR} /${LAPACKLIB} _64_obj)
550- add_library (${LAPACKLIB} _64_obj OBJECT ${SOURCES_64} )
551- target_link_libraries (${LAPACKLIB} _64_obj mod_files)
552- target_compile_options (${LAPACKLIB} _64_obj PRIVATE ${FOPT_ILP64} -DLAPACK_64)
553- set_target_properties (
554- ${LAPACKLIB} _64_obj PROPERTIES
555- POSITION_INDEPENDENT_CODE ON
556- Fortran_PREPROCESS ON
557- )
538+ if (NOT CMAKE_Fortran_COMPILER_ID MATCHES ${INDEX64_EXT_API_COMPILERS} )
539+ message (STATUS "Build Index-64 API as extended API with _64 suffix: skipped (unsupported Fortran compiler)" )
540+ # Disable extended API for LAPACK and LAPACKE as it depends on LAPACK build.
541+ set (BUILD_INDEX64_EXT_API OFF )
542+ set (BUILD_INDEX64_EXT_API OFF PARENT_SCOPE)
543+ else ()
544+ set (SOURCES_64)
545+ file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /${LAPACKLIB} _64_obj)
546+ file (COPY ${SOURCES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR} /${LAPACKLIB} _64_obj)
547+ file (GLOB SOURCES_64 ${CMAKE_CURRENT_BINARY_DIR} /${LAPACKLIB} _64_obj/*.*)
548+ list (REMOVE_ITEM SOURCES_64 la_xisnan.F90)
549+ foreach (F IN LISTS SOURCES_64)
550+ set (FFILE "" )
551+ file (READ ${F} FFILE)
552+ file (WRITE ${F} "#include \" lapack_64.h\"\n " )
553+ file (APPEND ${F} "${FFILE} " )
554+ endforeach ()
555+ file (COPY lapack_64.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR} /${LAPACKLIB} _64_obj)
556+ add_library (${LAPACKLIB} _64_obj OBJECT ${SOURCES_64} )
557+ target_link_libraries (${LAPACKLIB} _64_obj mod_files)
558+ target_compile_options (${LAPACKLIB} _64_obj PRIVATE ${FOPT_ILP64} -DLAPACK_64)
559+ set_target_properties (
560+ ${LAPACKLIB} _64_obj PROPERTIES
561+ POSITION_INDEPENDENT_CODE ON
562+ Fortran_PREPROCESS ON
563+ )
564+ endif ()
558565endif ()
559566
560567add_library (${LAPACKLIB}
0 commit comments