]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
build: use GNUInstallDirs
authorIgor Gnatenko <i.gnatenko.brain@gmail.com>
Mon, 2 Jul 2018 11:56:41 +0000 (12:56 +0100)
committerIgor Gnatenko <i.gnatenko.brain@gmail.com>
Sat, 30 Mar 2019 17:08:22 +0000 (18:08 +0100)
Fixes: #128
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
CMakeLists.txt
README
doc/CMakeLists.txt
examples/solv/CMakeLists.txt
ext/CMakeLists.txt
libsolv.pc.in
libsolvext.pc.in
src/CMakeLists.txt
tools/CMakeLists.txt

index ab385f1fc94f55081df98dd3b0ac411e0dfe18d0..8b87c5492a4c0e53d9ee86382e3f56cfeb2f9232 100644 (file)
@@ -1,6 +1,6 @@
 PROJECT (libsolv)
 
-CMAKE_MINIMUM_REQUIRED (VERSION 2.4)
+CMAKE_MINIMUM_REQUIRED (VERSION 2.8.5)
 
 OPTION (ENABLE_STATIC "Build a static version of the libraries?" OFF)
 OPTION (DISABLE_SHARED "Do not build a shared version of the libraries?" OFF)
@@ -39,34 +39,14 @@ OPTION (ENABLE_ZCHUNK_COMPRESSION "Build with zchunk compression support?" OFF)
 OPTION (WITH_SYSTEM_ZCHUNK "Use system zchunk library?" OFF)
 OPTION (WITH_LIBXML2  "Build with libxml2 instead of libexpat?" OFF)
 
-# Library
-IF (DEFINED LIB)
-  SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB}")
-ELSE (DEFINED  LIB)
-  IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-    SET (LIB_SUFFIX "64")
-  ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-  SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
-ENDIF (DEFINED  LIB)
-MESSAGE (STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}")
-# Library
-IF (DEFINED INCLUDE)
-  SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE}")
-else (DEFINED INCLUDE)
-  SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
-ENDIF (DEFINED  INCLUDE)
-MESSAGE (STATUS "Header files will be installed in ${INCLUDE_INSTALL_DIR}")
-SET (BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")
-IF (NOT MAN_INSTALL_DIR)
-SET (MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/man")
-IF (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/man"  AND NOT IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/man")
-  SET (MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/man")
-ENDIF (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/man"  AND NOT IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/man")
-ENDIF (NOT MAN_INSTALL_DIR)
-MESSAGE(STATUS "Man pages will be installed in ${MAN_INSTALL_DIR}")
+include (GNUInstallDirs)
+message (STATUS "Libraries will be installed in ${CMAKE_INSTALL_FULL_LIBDIR}")
+message (STATUS "Header files will be installed in ${CMAKE_INSTALL_FULL_INCLUDEDIR}")
+message (STATUS "Binaries will be installed in ${CMAKE_INSTALL_FULL_BINDIR}")
+message (STATUS "Man pages will be installed in ${CMAKE_INSTALL_FULL_MANDIR}")
 
 IF (NOT PKGCONFIG_INSTALL_DIR)
-  SET (PKGCONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/pkgconfig)
+  SET (PKGCONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
 ENDIF (NOT PKGCONFIG_INSTALL_DIR)
 ####################################################################
 # CONFIGURATION                                                    #
diff --git a/README b/README
index 02424597c8abc9e70a1e70ddd7227744d65f94ae..59ac1a1874248fa2fae0c33ca79ffb15606686a3 100644 (file)
--- a/README
+++ b/README
@@ -37,7 +37,7 @@ Supported repository formats:
 Build instructions
 ==================
 
-Requires: cmake 2.4.x
+Requires: cmake 2.8.5 or later
 
     mkdir build
     cd build
index 66011b48d8f934a1fdbf63402e15cbd6454cdda9..ed38274ea5aa21f17d1efdecc9e2b9370fb97fd9 100644 (file)
@@ -48,8 +48,8 @@ STRING(REGEX REPLACE "([^;]+)" "gen/\\1" libsolv_MANPAGES3 "${libsolv_MANPAGES3}
 
 INSTALL(FILES
     ${libsolv_MANPAGES3}
-    DESTINATION "${MAN_INSTALL_DIR}/man3")
+    DESTINATION "${CMAKE_INSTALL_MANDIR}/man3")
 
 INSTALL(FILES
     ${libsolv_MANPAGES1}
-    DESTINATION "${MAN_INSTALL_DIR}/man1")
+    DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
index 41f45f74b641bdde7f529537465a889fad3d6d82..0f3bd4770de3b3f0c66e2a123341b6280e175f9f 100644 (file)
@@ -25,5 +25,5 @@ TARGET_LINK_LIBRARIES (solv libsolvext libsolv ${SYSTEM_LIBRARIES})
 
 INSTALL(TARGETS
     solv
-    DESTINATION ${BIN_INSTALL_DIR})
+    DESTINATION ${CMAKE_INSTALL_BINDIR})
 
index edc2b9f9aa0f476cd27390db242172bd5ee46f48..6dd28b1aeaa4bf81150bb94c37a56a05e3fbf840 100644 (file)
@@ -145,14 +145,14 @@ ENDIF (DISABLE_SHARED)
 
 SET_TARGET_PROPERTIES(libsolvext PROPERTIES OUTPUT_NAME "solvext")
 SET_TARGET_PROPERTIES(libsolvext PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
-SET_TARGET_PROPERTIES(libsolvext PROPERTIES INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
+SET_TARGET_PROPERTIES(libsolvext PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
 
-INSTALL (FILES ${libsolvext_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}/solv")
-INSTALL (TARGETS libsolvext LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} RUNTIME DESTINATION bin)
+INSTALL (FILES ${libsolvext_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/solv")
+INSTALL (TARGETS libsolvext LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 
 IF (ENABLE_STATIC AND NOT DISABLE_SHARED)
 ADD_LIBRARY (libsolvext_static STATIC ${libsolvext_SRCS})
 SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES OUTPUT_NAME "solvext")
 SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
-INSTALL (TARGETS libsolvext_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
+INSTALL (TARGETS libsolvext_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
 ENDIF (ENABLE_STATIC AND NOT DISABLE_SHARED)
index 40a862301b563c39f402d89bddf32bc4e3bdcc28..766146c5796ddd7976fb1a1d127b4e1ec8116faa 100644 (file)
@@ -1,5 +1,5 @@
-libdir=@LIB_INSTALL_DIR@
-includedir=@INCLUDE_INSTALL_DIR@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
 
 Name: libsolv
 Description: Library for solving packages
index d48b6fab1bc10a09d589655cc5153fce926b919a..d00784614c999333aa2f232bfa74f2e087753b61 100644 (file)
@@ -1,5 +1,5 @@
-libdir=@LIB_INSTALL_DIR@
-includedir=@INCLUDE_INSTALL_DIR@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
 
 Name: libsolvext
 Description: Library for reading repositories
index be487a7855848b22ab33c9ec2327428991284a9a..3aca1adfc0018e0344cb09974dcd8b69940a2bb3 100644 (file)
@@ -47,14 +47,14 @@ ENDIF (DISABLE_SHARED)
 
 SET_TARGET_PROPERTIES(libsolv PROPERTIES OUTPUT_NAME "solv")
 SET_TARGET_PROPERTIES(libsolv PROPERTIES SOVERSION ${LIBSOLV_SOVERSION})
-SET_TARGET_PROPERTIES(libsolv PROPERTIES INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
+SET_TARGET_PROPERTIES(libsolv PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
 
-INSTALL (FILES ${libsolv_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}/solv")
-INSTALL (TARGETS libsolv LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} RUNTIME DESTINATION bin)
+INSTALL (FILES ${libsolv_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/solv")
+INSTALL (TARGETS libsolv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 
 IF (ENABLE_STATIC AND NOT DISABLE_SHARED)
 ADD_LIBRARY (libsolv_static STATIC ${libsolv_SRCS})
 SET_TARGET_PROPERTIES(libsolv_static PROPERTIES OUTPUT_NAME "solv")
 SET_TARGET_PROPERTIES(libsolv_static PROPERTIES SOVERSION ${LIBSOLV_SOVERSION})
-INSTALL (TARGETS libsolv_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
+INSTALL (TARGETS libsolv_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
 ENDIF (ENABLE_STATIC AND NOT DISABLE_SHARED)
index 802dc50002b443e30180da49429e040ed55764e5..0d677f691a80c4c4f05d43bc1277f76a4d3c805a 100644 (file)
@@ -110,5 +110,4 @@ TARGET_LINK_LIBRARIES (testsolv libsolvext libsolv ${SYSTEM_LIBRARIES})
 ADD_EXECUTABLE (repo2solv repo2solv.c )
 TARGET_LINK_LIBRARIES (repo2solv toolstuff libsolvext libsolv ${SYSTEM_LIBRARIES})
 
-INSTALL (TARGETS ${tools_list} DESTINATION ${BIN_INSTALL_DIR})
-
+INSTALL (TARGETS ${tools_list} DESTINATION ${CMAKE_INSTALL_BINDIR})