@@ -438,21 +438,55 @@ if (BLAS++ OR LAPACK++)
438438 endif ()
439439
440440 # Adds target blaspp
441- add_custom_target ( blaspp ALL
441+ add_custom_target ( blaspp ALL DEPENDS blaspp-cmd )
442+ add_custom_command ( OUTPUT blaspp-cmd
443+ WORKING_DIRECTORY "${blaspp_SOURCE_DIR} "
444+ COMMENT "Building BLAS++" )
445+
446+ # Set up information about the BLAS and LAPACK libraries
447+ if (NOT BLAS_FOUND)
448+ if (NOT LATESTLAPACK_FOUND)
449+ add_custom_command ( OUTPUT blaspp-cmd APPEND
450+ COMMAND ${CMAKE_COMMAND}
451+ -B "${blaspp_BINARY_DIR} "
452+ -D BLAS_LIBRARIES="$<TARGET_FILE:${BLASLIB} >${BLAS_Fortran_LIB} "
453+ -D LAPACK_LIBRARIES="$<TARGET_FILE:${LAPACKLIB} >" )
454+ else ()
455+ add_custom_command ( OUTPUT blaspp-cmd APPEND
456+ COMMAND ${CMAKE_COMMAND}
457+ -B "${blaspp_BINARY_DIR} "
458+ -D BLAS_LIBRARIES="$<TARGET_FILE:${BLASLIB} >${BLAS_Fortran_LIB} "
459+ -D LAPACK_LIBRARIES="${LAPACK_LIBRARIES} " )
460+ endif ()
461+ else ()
462+ if (NOT LATESTLAPACK_FOUND)
463+ add_custom_command ( OUTPUT blaspp-cmd APPEND
464+ COMMAND ${CMAKE_COMMAND}
465+ -B "${blaspp_BINARY_DIR} "
466+ -D BLAS_LIBRARIES="${BLAS_LIBRARIES} "
467+ -D LAPACK_LIBRARIES="$<TARGET_FILE:${LAPACKLIB} >${BLAS_Fortran_LIB} " )
468+ else ()
469+ add_custom_command ( OUTPUT blaspp-cmd APPEND
470+ COMMAND ${CMAKE_COMMAND}
471+ -B "${blaspp_BINARY_DIR} "
472+ -D BLAS_LIBRARIES="${BLAS_LIBRARIES} "
473+ -D LAPACK_LIBRARIES="${LAPACK_LIBRARIES} " )
474+ endif ()
475+ endif ()
476+
477+ # Setup remaining configuration options and installation
478+ add_custom_command ( OUTPUT blaspp-cmd APPEND
442479 COMMAND ${CMAKE_COMMAND}
443- -B "${blaspp_BINARY_DIR} "
444- -D CMAKE_INSTALL_PREFIX ="${PROJECT_BINARY_DIR} "
445- -D blas_libraries_cached=""
446- "-DBLAS_LIBRARIES=\" $<IF:$<BOOL:${BLAS_FOUND} >,${BLAS_LIBRARIES} ,$<TARGET_FILE:${BLASLIB} >>${BLAS_Fortran_LIB} \" "
447- -D lapack_libraries_cached=""
448- "-DLAPACK_LIBRARIES=\" $<IF:$<BOOL:${LATESTLAPACK_FOUND} >,${LAPACK_LIBRARIES} ,$<TARGET_FILE:${LAPACKLIB} >>\" "
449- -D build_tests=OFF
450- -D BUILD_SHARED_LIBS =${BUILD_SHARED_LIBS}
480+ -B "${blaspp_BINARY_DIR} "
481+ -D CMAKE_INSTALL_PREFIX ="${blaspp_BINARY_DIR} "
482+ -D CMAKE_INSTALL_LIBDIR="${PROJECT_BINARY_DIR} /lib"
483+ -D blas_libraries_cached=""
484+ -D lapack_libraries_cached=""
485+ -D build_tests=OFF
486+ -D BUILD_SHARED_LIBS =${BUILD_SHARED_LIBS}
451487 COMMAND ${CMAKE_COMMAND}
452488 --build "${blaspp_BINARY_DIR} "
453489 --target install
454- WORKING_DIRECTORY "${blaspp_SOURCE_DIR} "
455- COMMENT "Building BLAS++"
456490 )
457491
458492 # Set up dependencies
@@ -475,19 +509,36 @@ if (LAPACK++)
475509 endif ()
476510
477511 # Adds target lapackpp
478- add_custom_target ( lapackpp ALL
479- COMMAND ${CMAKE_COMMAND}
512+ add_custom_target ( lapackpp ALL DEPENDS lapackpp-cmd )
513+ add_custom_command ( OUTPUT lapackpp-cmd
514+ WORKING_DIRECTORY "${lapackpp_SOURCE_DIR} "
515+ COMMENT "Building LAPACK++" )
516+
517+ # Set up information about the LAPACK library
518+ if (NOT LATESTLAPACK_FOUND)
519+ add_custom_command ( OUTPUT lapackpp-cmd APPEND
520+ COMMAND ${CMAKE_COMMAND}
480521 -B "${lapackpp_BINARY_DIR} "
481- -D CMAKE_INSTALL_PREFIX ="${PROJECT_BINARY_DIR} "
482- -D lapack_libraries_cached=""
483- "-DLAPACK_LIBRARIES=\" $<IF:$<BOOL:${LATESTLAPACK_FOUND} >,${LAPACK_LIBRARIES} ,$<TARGET_FILE:${LAPACKLIB} >>\" "
484- -D build_tests=OFF
485- -D BUILD_SHARED_LIBS =${BUILD_SHARED_LIBS}
522+ -D LAPACK_LIBRARIES="$<TARGET_FILE:${LAPACKLIB} >${BLAS_Fortran_LIB} " )
523+ else ()
524+ add_custom_command ( OUTPUT lapackpp-cmd APPEND
525+ COMMAND ${CMAKE_COMMAND}
526+ -B "${lapackpp_BINARY_DIR} "
527+ -D LAPACK_LIBRARIES="${LAPACK_LIBRARIES} " )
528+ endif ()
529+
530+ # Setup remaining configuration options and installation
531+ add_custom_command ( OUTPUT lapackpp-cmd APPEND
532+ COMMAND ${CMAKE_COMMAND}
533+ -B "${lapackpp_BINARY_DIR} "
534+ -D CMAKE_INSTALL_PREFIX ="${lapackpp_BINARY_DIR} "
535+ -D CMAKE_INSTALL_LIBDIR="${PROJECT_BINARY_DIR} /lib"
536+ -D lapack_libraries_cached=""
537+ -D build_tests=OFF
538+ -D BUILD_SHARED_LIBS =${BUILD_SHARED_LIBS}
486539 COMMAND ${CMAKE_COMMAND}
487540 --build "${lapackpp_BINARY_DIR} "
488541 --target install
489- WORKING_DIRECTORY "${lapackpp_SOURCE_DIR} "
490- COMMENT "Building LAPACK++"
491542 )
492543
493544 # Set up dependencies
@@ -601,14 +652,14 @@ install(FILES
601652 )
602653if (LAPACK++)
603654 install (
604- DIRECTORY "${LAPACK_BINARY_DIR} /lib/"
605- DESTINATION "${CMAKE_INSTALL_LIBDIR}${LAPACK_BINARY_PATH_SUFFIX} "
606- FILES_MATCHING REGEX "liblapackpp.(a|so)$"
655+ DIRECTORY "${LAPACK_BINARY_DIR} /lib/"
656+ DESTINATION "${CMAKE_INSTALL_LIBDIR}${LAPACK_BINARY_PATH_SUFFIX} "
657+ FILES_MATCHING REGEX "liblapackpp.(a|so)$"
607658 )
608- write_basic_package_version_file (
609- "lapackppConfigVersion.cmake "
610- VERSION 2023.08.25
611- COMPATIBILITY AnyNewerVersion
659+ install (
660+ DIRECTORY " ${lapackpp_BINARY_DIR} /include/ "
661+ DESTINATION " ${CMAKE_INSTALL_INCLUDEDIR} "
662+ FILES_MATCHING REGEX " \\ .(h|hh)$"
612663 )
613664 install (
614665 FILES "${CMAKE_CURRENT_BINARY_DIR} /lib/cmake/lapackpp/lapackppConfig.cmake"
@@ -618,23 +669,18 @@ if (LAPACK++)
618669
619670endif ()
620671if (BLAS++)
621- install (
622- DIRECTORY "${LAPACK_BINARY_DIR} /lib/"
623- DESTINATION "${CMAKE_INSTALL_LIBDIR}${LAPACK_BINARY_PATH_SUFFIX} "
624- FILES_MATCHING REGEX "libblaspp.(a|so)$"
625- )
626- write_basic_package_version_file(
627- "blasppConfigVersion.cmake"
628- VERSION 2023.08.25
629- COMPATIBILITY AnyNewerVersion
630- )
631672 install (
632673 FILES "${CMAKE_CURRENT_BINARY_DIR} /lib/cmake/blaspp/blasppConfig.cmake"
633674 "${CMAKE_CURRENT_BINARY_DIR} /lib/cmake/blaspp/blasppConfigVersion.cmake"
634675 DESTINATION "${CMAKE_INSTALL_LIBDIR} /cmake/"
635676 )
636677 install (
637- DIRECTORY "${PROJECT_BINARY_DIR} /include/"
678+ DIRECTORY "${LAPACK_BINARY_DIR} /lib/"
679+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
680+ FILES_MATCHING REGEX "libblaspp.(a|so)$"
681+ )
682+ install (
683+ DIRECTORY "${blaspp_BINARY_DIR} /include/"
638684 DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
639685 FILES_MATCHING REGEX "\\ .(h|hh)$"
640686 )
0 commit comments