Improve pkgconfig file generation
authorKyle Guinn <elyk03@gmail.com>
Thu, 6 Oct 2016 03:36:01 +0000 (22:36 -0500)
committerKyle Guinn <elyk03@gmail.com>
Thu, 6 Oct 2016 03:36:01 +0000 (22:36 -0500)
The prefix and libdir lines at the top of the .pc files are variable
declarations.  Set these variables appropriately, reference them in the
rest of the file, and prevent cmake from expanding ${}-style references.
Switch back to @prefix@ and @libdir@ for compatibility with autoconf.

Make the descriptions consistent and update the URLs.

BLAS/CMakeLists.txt
BLAS/blas.pc.in
CBLAS/CMakeLists.txt
CBLAS/cblas.pc.in
CMakeLists.txt
LAPACKE/CMakeLists.txt
LAPACKE/lapacke.pc.in
lapack.pc.in

index 9958f8b..42cd4f6 100644 (file)
@@ -2,7 +2,7 @@ add_subdirectory(SRC)
 if(BUILD_TESTING)
 add_subdirectory(TESTING)
 endif()
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc @ONLY)
 install(FILES
   ${CMAKE_CURRENT_BINARY_DIR}/blas.pc
   DESTINATION ${PKG_CONFIG_DIR}
index b8963c5..7fd6f1e 100644 (file)
@@ -1,9 +1,9 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
+prefix=@prefix@
+libdir=@libdir@
 
-Name: blas
-Description: Basic Linear Algebra Subprograms F77 reference implementations
+Name: BLAS
+Description: FORTRAN reference implementation of BLAS Basic Linear Algebra Subprograms
 Version: @LAPACK_VERSION@
 URL: http://www.netlib.org/blas/
-Libs: -L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -lblas
+Libs: -L${libdir} -lblas
 Libs.private: -lm
index 05c3de9..a17a5ba 100644 (file)
@@ -67,7 +67,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/cblas-config-build.cmake.in
   ${LAPACK_BINARY_DIR}/cblas-config.cmake @ONLY)
 
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc @ONLY)
   install(FILES
   ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc
   DESTINATION ${PKG_CONFIG_DIR}
index 4c516c8..4a938fe 100644 (file)
@@ -1,9 +1,9 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
+prefix=@prefix@
+libdir=@libdir@
 
-Name: lapacke
-Description: C Standard Interface to BLAS Linear Algebra PACKage
+Name: CBLAS
+Description: C Standard Interface to BLAS Basic Linear Algebra Subprograms
 Version: @LAPACK_VERSION@
-URL: http://www.netlib.org/lapack/
-Libs: -L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -lcblas
+URL: http://www.netlib.org/blas/#_cblas
+Libs: -L${libdir} -lcblas
 Requires: blas
index b41cd6b..81f4a5d 100644 (file)
@@ -116,6 +116,14 @@ macro(lapack_install_library lib)
   )
 endmacro()
 
+set(PKG_CONFIG_DIR ${LIBRARY_DIR}/pkgconfig)
+set(prefix ${CMAKE_INSTALL_PREFIX})
+if(NOT IS_ABSOLUTE ${LIBRARY_DIR})
+  set(libdir "\${prefix}/${LIBRARY_DIR}")
+else()
+  set(libdir "${LIBRARY_DIR}")
+endif()
+
 # --------------------------------------------------
 # Testing
 
@@ -149,8 +157,6 @@ message(STATUS "--> Will use second_${TIME_FUNC}.f and dsecnd_${TIME_FUNC}.f as
 
 set(SECOND_SRC  ${LAPACK_SOURCE_DIR}/INSTALL/second_${TIME_FUNC}.f)
 set(DSECOND_SRC  ${LAPACK_SOURCE_DIR}/INSTALL/dsecnd_${TIME_FUNC}.f)
-set(PKG_CONFIG_DIR ${LIBRARY_DIR}/pkgconfig)
-
 
 # By default static library
 option(BUILD_SHARED_LIBS "Build shared libraries" OFF )
@@ -371,7 +377,7 @@ configure_file(${LAPACK_SOURCE_DIR}/CMAKE/lapack-config-build.cmake.in
   ${LAPACK_BINARY_DIR}/lapack-config.cmake @ONLY)
 
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc @ONLY)
   install(FILES
   ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc
   DESTINATION ${PKG_CONFIG_DIR}
index cf708b9..904025f 100644 (file)
@@ -62,7 +62,7 @@ if(BUILD_TESTING)
 endif()
 
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc @ONLY)
  install(FILES
   ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc
   DESTINATION ${PKG_CONFIG_DIR}
index 6eea4b9..028f8da 100644 (file)
@@ -1,9 +1,9 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
+prefix=@prefix@
+libdir=@libdir@
 
-Name: lapacke
+Name: LAPACKE
 Description: C Standard Interface to LAPACK Linear Algebra PACKage
 Version: @LAPACK_VERSION@
-URL: http://www.netlib.org/lapack/
-Libs: -L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -llapacke
+URL: http://www.netlib.org/lapack/#_standard_c_language_apis_for_lapack
+Libs: -L${libdir} -llapacke
 Requires: lapack blas
index 4d4fe01..878efc2 100644 (file)
@@ -1,9 +1,9 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
+prefix=@prefix@
+libdir=@libdir@
 
-Name: lapack
+Name: LAPACK
 Description: FORTRAN reference implementation of LAPACK Linear Algebra PACKage
 Version: @LAPACK_VERSION@
 URL: http://www.netlib.org/lapack/
-Libs: -L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -llapack
+Libs: -L${libdir} -llapack
 Requires: blas