@@ -535,26 +535,33 @@ set_target_properties(
535
535
)
536
536
537
537
if (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 ()
558
565
endif ()
559
566
560
567
add_library (${LAPACKLIB}
0 commit comments