summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2017-10-23 15:54:55 +0200
committerMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2017-10-23 15:54:55 +0200
commit34e537a5c10fff6bc6350312f66d7c74faf813c0 (patch)
tree7a32d7fb6a60b5acb15308a4f3d7f248dab7a039
parent5fd1f2fc609a771d852cad1bd4ad4f02489016a5 (diff)
Use GNUInstallDirs to determine install paths
The GNUInstallDirs module* provides variables that match the install directories for GNU Software and allows users to override them. Without hardcoding paths packagers can choose library paths according to distribution policies (i.e. lib, lib64, lib<arch>, ...). * https://cmake.org/cmake/help/v3.0/module/GNUInstallDirs.html
-rw-r--r--CMakeLists.txt19
-rw-r--r--clblast.pc.in4
2 files changed, 12 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b25e1809..f5db4b69 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -307,27 +307,28 @@ if(MSVC)
endif()
# Installs the library
-install(TARGETS clblast EXPORT CLBlast DESTINATION lib)
-install(FILES include/clblast_half.h DESTINATION include)
+include(GNUInstallDirs)
+
+install(TARGETS clblast EXPORT CLBlast DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(FILES include/clblast_half.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
if(OPENCL)
- install(FILES include/clblast.h DESTINATION include)
- install(FILES include/clblast_c.h DESTINATION include)
+ install(FILES include/clblast.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ install(FILES include/clblast_c.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
if(NETLIB)
- install(FILES include/clblast_netlib_c.h DESTINATION include)
+ install(FILES include/clblast_netlib_c.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
elseif(CUDA)
- install(FILES include/clblast_cuda.h DESTINATION include)
+ install(FILES include/clblast_cuda.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
# Installs the config for find_package in dependent projects
-install(EXPORT CLBlast DESTINATION lib/cmake/CLBLast FILE CLBlastConfig.cmake)
+install(EXPORT CLBlast DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/CLBLast FILE CLBlastConfig.cmake)
# Install pkg-config file on Linux
if(UNIX)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/clblast.pc.in"
"${CMAKE_CURRENT_BINARY_DIR}/clblast.pc" @ONLY IMMEDIATE)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/clblast.pc
- DESTINATION lib/pkgconfig)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/clblast.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
endif()
# ==================================================================================================
diff --git a/clblast.pc.in b/clblast.pc.in
index 2538add8..c66210f1 100644
--- a/clblast.pc.in
+++ b/clblast.pc.in
@@ -1,7 +1,7 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-includedir=${prefix}/include
-libdir=${exec_prefix}/lib
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
Name: CLBlast
Description: CLBlast is a modern, lightweight, performant and tunable OpenCL BLAS library written in C++11