@@ -72,10 +72,11 @@ if (UNIX)
7272 endif ()
7373endif ()
7474
75+ # TODO: Remove this macro
7576macro (SCALAPACK_install_library lib)
76- install (TARGETS ${lib} EXPORT scalapack-targets
77- RUNTIME DESTINATION Testing
78- )
77+ install (TARGETS ${lib}
78+ EXPORT scalapackTargets
79+ )
7980endmacro ()
8081
8182# --------------------------------------------------
@@ -227,6 +228,7 @@ append_subdir_files(src-C "SRC")
227228if (NOT MSVC )
228229 set_source_files_properties (TOOLS/SL_gridreshape.c PROPERTIES COMPILE_OPTIONS "-Wno-error=implicit-function-declaration" )
229230 add_library (scalapack ${blacs} ${tools} ${tools-C} ${extra_lapack} ${pblas} ${pblas-F} ${ptzblas} ${ptools} ${pbblas} ${redist} ${src} ${src-C})
231+ add_library (scalapack::scalapack ALIAS scalapack)
230232 set_target_properties (scalapack PROPERTIES
231233 VERSION ${SCALAPACK_VERSION}
232234 SOVERSION ${SCALAPACK_VERSION_MAJOR} .${SCALAPACK_VERSION_MINOR} )
@@ -235,11 +237,13 @@ if (NOT MSVC)
235237else () # Need to separate Fortran and C Code
236238 OPTION (BUILD_SHARED_LIBS "Build shared libraries" ON )
237239 add_library (scalapack ${blacs} ${tools-C} ${pblas} ${ptools} ${redist} ${src-C})
240+ add_library (scalapack::scalapack ALIAS scalapack)
238241 set_target_properties (scalapack PROPERTIES
239242 VERSION ${SCALAPACK_VERSION}
240243 SOVERSION ${SCALAPACK_VERSION_MAJOR} .${SCALAPACK_VERSION_MINOR} )
241244 target_link_libraries ( scalapack ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MPI::MPI_C)
242245 add_library (scalapack-F ${pblas-F} ${pbblas} ${ptzblas} ${tools} ${src} ${extra_lapack} )
246+ add_library (scalapack::scalapack-F ALIAS scalapack-F)
243247 set_target_properties (scalapack-F PROPERTIES
244248 VERSION ${SCALAPACK_VERSION}
245249 SOVERSION ${SCALAPACK_VERSION_MAJOR} .${SCALAPACK_VERSION_MINOR} )
@@ -289,33 +293,36 @@ INCLUDE(CPack)
289293# --------------------------------------------------
290294
291295
292- export (TARGETS scalapack FILE scalapack-targets.cmake)
293-
294296if ( NOT LAPACK_FOUND )
295297 install (FILES
296298 ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}
297299 DESTINATION ${CMAKE_INSTALL_LIBDIR}
298300 )
299301endif ( NOT LAPACK_FOUND )
300302
301- configure_file (${SCALAPACK_SOURCE_DIR} /CMAKE/scalapack-config-version .cmake.in
302- ${SCALAPACK_BINARY_DIR} /scalapack-config-version .cmake @ONLY)
303- configure_file (${SCALAPACK_SOURCE_DIR} /CMAKE/scalapack-config-build .cmake.in
304- ${SCALAPACK_BINARY_DIR} /scalapack-config.cmake @ONLY)
305-
306- configure_file (${CMAKE_CURRENT_SOURCE_DIR} /scalapack.pc.in ${CMAKE_CURRENT_BINARY_DIR} /scalapack.pc)
307- install (FILES
308- ${CMAKE_CURRENT_BINARY_DIR} /scalapack.pc
309- DESTINATION ${PKG_CONFIG_DIR}
310- )
311-
312- configure_file (${SCALAPACK_SOURCE_DIR} /CMAKE/scalapack-config-install .cmake.in
313- ${SCALAPACK_BINARY_DIR} /CMakeFiles/scalapack-config.cmake @ONLY)
303+ include (CMakePackageConfigHelpers)
304+ configure_package_config_file(
305+ CMAKE/scalapackConfig.cmake.in
306+ scalapackConfig.cmake
307+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/scalapack
308+ )
309+ write_basic_package_version_file(
310+ scalapackConfigVersion.cmake
311+ COMPATIBILITY SameMajorVersion
312+ )
313+
314+ install (EXPORT scalapackTargets
315+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/scalapack
316+ NAMESPACE scalapack
317+ )
318+
319+ configure_file (scalapack.pc.in scalapack.pc @ONLY)
314320install (FILES
315- ${SCALAPACK_BINARY_DIR} /CMakeFiles/scalapack-config.cmake
316- ${SCALAPACK_BINARY_DIR} /scalapack-config-version .cmake
317- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/scalapack-${SCALAPACK_VERSION}
318- )
319-
320- install (EXPORT scalapack-targets
321- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/scalapack-${SCALAPACK_VERSION} )
321+ ${CMAKE_CURRENT_BINARY_DIR} /scalapack.pc
322+ DESTINATION ${PKG_CONFIG_DIR}
323+ )
324+ install (FILES
325+ ${CMAKE_CURRENT_BINARY_DIR} /scalapackConfig.cmake
326+ ${CMAKE_CURRENT_BINARY_DIR} /scalapackConfigVersion.cmake
327+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/scalapack
328+ )
0 commit comments