@@ -70,10 +70,11 @@ if (UNIX)
7070 endif ()
7171endif ()
7272
73+ # TODO: Remove this macro
7374macro (SCALAPACK_install_library lib)
74- install (TARGETS ${lib} EXPORT scalapack-targets
75- RUNTIME DESTINATION Testing
76- )
75+ install (TARGETS ${lib}
76+ EXPORT scalapackTargets
77+ )
7778endmacro ()
7879
7980# --------------------------------------------------
@@ -228,6 +229,7 @@ append_subdir_files(src-C "SRC")
228229
229230if (NOT MSVC )
230231 add_library (scalapack ${blacs} ${tools} ${tools-C} ${extra_lapack} ${pblas} ${pblas-F} ${ptzblas} ${ptools} ${pbblas} ${redist} ${src} ${src-C})
232+ add_library (scalapack::scalapack ALIAS scalapack)
231233 set_target_properties (scalapack PROPERTIES
232234 VERSION ${SCALAPACK_VERSION}
233235 SOVERSION ${SCALAPACK_VERSION_MAJOR} .${SCALAPACK_VERSION_MINOR} )
@@ -236,11 +238,13 @@ if (NOT MSVC)
236238else () # Need to separate Fortran and C Code
237239 OPTION (BUILD_SHARED_LIBS "Build shared libraries" ON )
238240 add_library (scalapack ${blacs} ${tools-C} ${pblas} ${ptools} ${redist} ${src-C})
241+ add_library (scalapack::scalapack ALIAS scalapack)
239242 set_target_properties (scalapack PROPERTIES
240243 VERSION ${SCALAPACK_VERSION}
241244 SOVERSION ${SCALAPACK_VERSION_MAJOR} .${SCALAPACK_VERSION_MINOR} )
242245 target_link_libraries ( scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_C)
243246 add_library (scalapack-F ${pblas-F} ${pbblas} ${ptzblas} ${tools} ${src} ${extra_lapack} )
247+ add_library (scalapack::scalapack-F ALIAS scalapack-F)
244248 set_target_properties (scalapack-F PROPERTIES
245249 VERSION ${SCALAPACK_VERSION}
246250 SOVERSION ${SCALAPACK_VERSION_MAJOR} .${SCALAPACK_VERSION_MINOR} )
@@ -290,33 +294,36 @@ INCLUDE(CPack)
290294# --------------------------------------------------
291295
292296
293- export (TARGETS scalapack FILE scalapack-targets.cmake)
294-
295297if ( NOT LAPACK_FOUND )
296298 install (FILES
297299 ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}
298300 DESTINATION ${CMAKE_INSTALL_LIBDIR}
299301 )
300302endif ( NOT LAPACK_FOUND )
301303
302- configure_file (${SCALAPACK_SOURCE_DIR} /CMAKE/scalapack-config-version .cmake.in
303- ${SCALAPACK_BINARY_DIR} /scalapack-config-version .cmake @ONLY)
304- configure_file (${SCALAPACK_SOURCE_DIR} /CMAKE/scalapack-config-build .cmake.in
305- ${SCALAPACK_BINARY_DIR} /scalapack-config.cmake @ONLY)
306-
307- configure_file (${CMAKE_CURRENT_SOURCE_DIR} /scalapack.pc.in ${CMAKE_CURRENT_BINARY_DIR} /scalapack.pc)
308- install (FILES
309- ${CMAKE_CURRENT_BINARY_DIR} /scalapack.pc
310- DESTINATION ${PKG_CONFIG_DIR}
311- )
312-
313- configure_file (${SCALAPACK_SOURCE_DIR} /CMAKE/scalapack-config-install .cmake.in
314- ${SCALAPACK_BINARY_DIR} /CMakeFiles/scalapack-config.cmake @ONLY)
304+ include (CMakePackageConfigHelpers)
305+ configure_package_config_file(
306+ CMAKE/scalapackConfig.cmake.in
307+ scalapackConfig.cmake
308+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/scalapack
309+ )
310+ write_basic_package_version_file(
311+ scalapackConfigVersion.cmake
312+ COMPATIBILITY SameMajorVersion
313+ )
314+
315+ install (EXPORT scalapackTargets
316+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/scalapack
317+ NAMESPACE scalapack
318+ )
319+
320+ configure_file (scalapack.pc.in scalapack.pc @ONLY)
315321install (FILES
316- ${SCALAPACK_BINARY_DIR} /CMakeFiles/scalapack-config.cmake
317- ${SCALAPACK_BINARY_DIR} /scalapack-config-version .cmake
318- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/scalapack-${SCALAPACK_VERSION}
319- )
320-
321- install (EXPORT scalapack-targets
322- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/scalapack-${SCALAPACK_VERSION} )
322+ ${CMAKE_CURRENT_BINARY_DIR} /scalapack.pc
323+ DESTINATION ${PKG_CONFIG_DIR}
324+ )
325+ install (FILES
326+ ${CMAKE_CURRENT_BINARY_DIR} /scalapackConfig.cmake
327+ ${CMAKE_CURRENT_BINARY_DIR} /scalapackConfigVersion.cmake
328+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/scalapack
329+ )
0 commit comments