Don't hard-code installation paths (#250)

Move all installation commands after include(GNUInstallDirs) so that the
CMAKE_INSTALL_* variables have correct values at the time of use.

This reverts commit 6b04aa4bcc.
This commit is contained in:
turboencabulator
2020-02-29 18:49:16 +01:00
committed by GitHub
parent 7438db1327
commit 35bffac439
4 changed files with 45 additions and 55 deletions
+29 -30
View File
@@ -274,30 +274,6 @@ endif()
# use -DBUILD_SHARED_LIBS=ON|OFF to control static/shared
add_library(arpack ${arpackutil_STAT_SRCS} ${arpacksrc_STAT_SRCS} ${arpacksrc_ICB})
if(ICB)
install(FILES ICB/arpack.h DESTINATION include/arpack)
install(FILES ICB/arpack.hpp DESTINATION include/arpack)
if (MPI)
install(FILES ICB/parpack.h DESTINATION include/arpack)
install(FILES ICB/parpack.hpp DESTINATION include/arpack)
endif()
if (ICBEXMM)
install(FILES EXAMPLES/MATRIX_MARKET/arpackSolver.hpp DESTINATION include/arpack)
endif()
endif()
install(FILES debug.h DESTINATION include/arpack)
if(ICB)
install(FILES ICB/debug_c.h DESTINATION include/arpack)
install(FILES ICB/debug_c.hpp DESTINATION include/arpack)
endif()
install(FILES stat.h DESTINATION include/arpack)
if(ICB)
install(FILES ICB/stat_c.h DESTINATION include/arpack)
install(FILES ICB/stat_c.hpp DESTINATION include/arpack)
endif()
target_link_libraries(arpack ${BLAS_LIBRARIES})
target_link_libraries(arpack ${LAPACK_LIBRARIES} ${EXTRA_LDLAGS})
set_target_properties(arpack PROPERTIES OUTPUT_NAME arpack${LIBSUFFIX})
@@ -337,11 +313,7 @@ else ()
set(INTERFACE64 0)
endif ()
message("-- Generating arpackdef.h")
configure_file(arpackdef.h.in "${PROJECT_BINARY_DIR}/arpackdef.h" @ONLY)
include_directories("${PROJECT_BINARY_DIR}") # Find arpackdef.h
install(FILES "${PROJECT_BINARY_DIR}/arpackdef.h" DESTINATION include/arpack)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
############################
@@ -692,15 +664,42 @@ if (MPI)
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif ()
if(ICB)
install(FILES ICB/arpack.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/arpack)
install(FILES ICB/arpack.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/arpack)
if (MPI)
install(FILES ICB/parpack.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/arpack)
install(FILES ICB/parpack.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/arpack)
endif()
if (ICBEXMM)
install(FILES EXAMPLES/MATRIX_MARKET/arpackSolver.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/arpack)
endif()
endif()
install(FILES debug.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/arpack)
if(ICB)
install(FILES ICB/debug_c.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/arpack)
install(FILES ICB/debug_c.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/arpack)
endif()
install(FILES stat.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/arpack)
if(ICB)
install(FILES ICB/stat_c.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/arpack)
install(FILES ICB/stat_c.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/arpack)
endif()
configure_file(arpackdef.h.in "${PROJECT_BINARY_DIR}/arpackdef.h" @ONLY)
install(FILES "${PROJECT_BINARY_DIR}/arpackdef.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/arpack)
# Provide find_package for arpack-ng to users.
configure_file(arpack-ng-config.cmake.in "${PROJECT_BINARY_DIR}/arpack-ng-config.cmake" @ONLY)
install(FILES "${PROJECT_BINARY_DIR}/arpack-ng-config.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake") # find_package(arpack-ng)
install(FILES "${PROJECT_BINARY_DIR}/arpack-ng-config.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) # find_package(arpack-ng)
set(arpack_ng_MAJOR_VERSION 3)
set(arpack_ng_MINOR_VERSION 7)
set(arpack_ng_PATCH_VERSION 0)
set(arpack_ng_VERSION ${arpack_ng_MAJOR_VERSION}.${arpack_ng_MINOR_VERSION}.${arpack_ng_PATCH_VERSION})
configure_file(arpack-ng-config-version.cmake.in "${PROJECT_BINARY_DIR}/arpack-ng-config-version.cmake" @ONLY)
install(FILES "${PROJECT_BINARY_DIR}/arpack-ng-config-version.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake")
install(FILES "${PROJECT_BINARY_DIR}/arpack-ng-config-version.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
# Packaging: ease arpack-ng distribution (precompiled binaries and sources tarballs).
set(CPACK_VERSION_MAJOR "${arpack_ng_MAJOR_VERSION}")
+9 -19
View File
@@ -1,24 +1,14 @@
# Config file for the arpack-ng package. It defines the following variables:
# - arpack_ng_INCLUDE_DIRS - include directories
# - arpack_ng_LIBRARIES - libraries to link against
set(arpack_ng_INCLUDE_DIRS "@CMAKE_INSTALL_PREFIX@/include/arpack;@EIGEN3_INCLUDE_DIR@" CACHE PATH "arpack-ng: include directories" FORCE)
if(EXISTS "@CMAKE_INSTALL_PREFIX@/lib/libarpack.a")
set(arpack_ng_LIBRARIES "@CMAKE_INSTALL_PREFIX@/lib/libarpack.a;@LAPACK_LIBRARIES@;@BLAS_LIBRARIES@" CACHE FILEPATH "arpack-ng: libraries" FORCE)
elseif(EXISTS "@CMAKE_INSTALL_PREFIX@/lib/libarpack.so")
set(arpack_ng_LIBRARIES "@CMAKE_INSTALL_PREFIX@/lib/libarpack.so;@LAPACK_LIBRARIES@;@BLAS_LIBRARIES@" CACHE FILEPATH "arpack-ng: libraries" FORCE)
set(arpack_ng_INCLUDE_DIRS "@CMAKE_INSTALL_FULL_INCLUDEDIR@/arpack;@EIGEN3_INCLUDE_DIR@" CACHE PATH "arpack-ng: include directories" FORCE)
if(EXISTS "@CMAKE_INSTALL_FULL_LIBDIR@/libarpack.a")
set(arpack_ng_LIBRARIES "@CMAKE_INSTALL_FULL_LIBDIR@/libarpack.a;@LAPACK_LIBRARIES@;@BLAS_LIBRARIES@" CACHE FILEPATH "arpack-ng: libraries" FORCE)
elseif(EXISTS "@CMAKE_INSTALL_FULL_LIBDIR@/libarpack.so")
set(arpack_ng_LIBRARIES "@CMAKE_INSTALL_FULL_LIBDIR@/libarpack.so;@LAPACK_LIBRARIES@;@BLAS_LIBRARIES@" CACHE FILEPATH "arpack-ng: libraries" FORCE)
endif()
if(EXISTS "@CMAKE_INSTALL_PREFIX@/lib64/libarpack.a")
set(arpack_ng_LIBRARIES "@CMAKE_INSTALL_PREFIX@/lib64/libarpack.a;@LAPACK_LIBRARIES@;@BLAS_LIBRARIES@" CACHE FILEPATH "arpack-ng: libraries" FORCE)
elseif(EXISTS "@CMAKE_INSTALL_PREFIX@/lib64/libarpack.so")
set(arpack_ng_LIBRARIES "@CMAKE_INSTALL_PREFIX@/lib64/libarpack.so;@LAPACK_LIBRARIES@;@BLAS_LIBRARIES@" CACHE FILEPATH "arpack-ng: libraries" FORCE)
endif()
if(EXISTS "@CMAKE_INSTALL_PREFIX@/lib/libparpack.a")
set(arpack_ng_LIBRARIES "@CMAKE_INSTALL_PREFIX@/lib/libparpack.a;${arpack_ng_LIBRARIES}" CACHE FILEPATH "arpack-ng: libraries" FORCE)
elseif(EXISTS "@CMAKE_INSTALL_PREFIX@/lib/libparpack.so")
set(arpack_ng_LIBRARIES "@CMAKE_INSTALL_PREFIX@/lib/libparpack.so;${arpack_ng_LIBRARIES}" CACHE FILEPATH "arpack-ng: libraries" FORCE)
endif()
if(EXISTS "@CMAKE_INSTALL_PREFIX@/lib64/libparpack.a")
set(arpack_ng_LIBRARIES "@CMAKE_INSTALL_PREFIX@/lib64/libparpack.a;${arpack_ng_LIBRARIES}" CACHE FILEPATH "arpack-ng: libraries" FORCE)
elseif(EXISTS "@CMAKE_INSTALL_PREFIX@/lib64/libparpack.so")
set(arpack_ng_LIBRARIES "@CMAKE_INSTALL_PREFIX@/lib64/libparpack.so;${arpack_ng_LIBRARIES}" CACHE FILEPATH "arpack-ng: libraries" FORCE)
if(EXISTS "@CMAKE_INSTALL_FULL_LIBDIR@/libparpack.a")
set(arpack_ng_LIBRARIES "@CMAKE_INSTALL_FULL_LIBDIR@/libparpack.a;${arpack_ng_LIBRARIES}" CACHE FILEPATH "arpack-ng: libraries" FORCE)
elseif(EXISTS "@CMAKE_INSTALL_FULL_LIBDIR@/libparpack.so")
set(arpack_ng_LIBRARIES "@CMAKE_INSTALL_FULL_LIBDIR@/libparpack.so;${arpack_ng_LIBRARIES}" CACHE FILEPATH "arpack-ng: libraries" FORCE)
endif()
+1 -1
View File
@@ -7,5 +7,5 @@ Name: @PACKAGE_NAME@
Description: Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems
Version: @PACKAGE_VERSION@
URL: @PACKAGE_URL@
Libs: -L${libdir} -L${libdir}64 -larpack@LIBSUFFIX@ @LAPACK_LIBS@ @BLAS_LIBS@
Libs: -L${libdir} -larpack@LIBSUFFIX@ @LAPACK_LIBS@ @BLAS_LIBS@
Cflags: -I${includedir}/arpack @EIGEN3_CFLAGS@
+6 -5
View File
@@ -240,14 +240,15 @@ AM_CONDITIONAL([ICBEXMM], [test x"$enable_icb_exmm" != x"no"])
m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], [AC_SUBST([pkgconfigdir], [${libdir}/pkgconfig])])
AC_CONFIG_FILES([arpack$LIBSUFFIX.pc:arpack.pc.in], [], [LIBSUFFIX="$LIBSUFFIX"])
AC_SUBST([CMAKE_INSTALL_PREFIX], ["$prefix"])
AC_SUBST([BLAS_LIBRARIES], ["$BLAS_LIBS"])
AC_SUBST([CMAKE_INSTALL_FULL_LIBDIR], ["$libdir"]) # FIXME: need to recursively expand these
AC_SUBST([CMAKE_INSTALL_FULL_INCLUDEDIR], ["$includedir"])
AC_SUBST([BLAS_LIBRARIES], ["$BLAS_LIBS"]) # FIXME: need a filename, not a -l flag
AC_SUBST([LAPACK_LIBRARIES], ["$LAPACK_LIBS"])
AC_SUBST([EIGEN3_INCLUDE_DIR], ["${EIGEN3_CFLAGS/-I/}"])
AC_CONFIG_FILES([arpack-ng-config.cmake:arpack-ng-config.cmake.in], [], [])
AC_SUBST([EIGEN3_INCLUDE_DIR], ["${EIGEN3_CFLAGS/-I/}"]) # FIXME: bashism
AC_CONFIG_FILES([arpack-ng-config.cmake])
AC_SUBST([arpack_ng_VERSION], ["$VERSION"])
AC_CONFIG_FILES([arpack-ng-config-version.cmake:arpack-ng-config-version.cmake.in], [], [])
AC_CONFIG_FILES([arpack-ng-config-version.cmake])
AC_CONFIG_FILES([
arpackdef.h