view dev/cmake/patch-fhs.patch @ 771:e67c258b3b1a

dev/cmake: adapt GNUInstallDirs to Vanilla Linux
author David Demelier <markand@malikania.fr>
date Fri, 09 Aug 2019 20:40:00 +0200
parents e91fbcb3d1ef
children 5cfcfe086a1e
line wrap: on
line source

--- Modules/Platform/UnixPaths.cmake.orig	2019-08-09 10:02:27.447007587 +0200
+++ Modules/Platform/UnixPaths.cmake	2019-08-09 10:04:02.843010517 +0200
@@ -23,7 +23,7 @@
 # search types.
 list(APPEND CMAKE_SYSTEM_PREFIX_PATH
   # Standard
-  /usr/local /usr /
+  /local /
 
   # CMake install location
   "${_CMAKE_INSTALL_DIR}"
@@ -41,39 +41,32 @@
   endif()
 endif()
 
-# Non "standard" but common install prefixes
-list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-  /usr/X11R6
-  /usr/pkg
-  /opt
-  )
-
 # List common include file locations not under the common prefixes.
 list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
   # X11
-  /usr/include/X11
+  /include/X11
   )
 
 list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
   # X11
-  /usr/lib/X11
+  /lib/X11
   )
 
 list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
-  /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
+  /lib
   )
 
 list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
-  /usr/include
+  /include
   )
 list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
-  /usr/include
+  /include
   )
 list(APPEND CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES
-  /usr/include
+  /include
   )
 
 # Enable use of lib32 and lib64 search path variants by default.
-set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS TRUE)
-set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
-set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIBX32_PATHS TRUE)
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS FALSE)
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIBX32_PATHS FALSE)
--- Modules/GNUInstallDirs.cmake.orig	2019-08-09 15:27:50.247607285 +0200
+++ Modules/GNUInstallDirs.cmake	2019-08-09 15:29:28.923610316 +0200
@@ -36,7 +36,7 @@
 # ``BINDIR``
 #   user executables (``bin``)
 # ``SBINDIR``
-#   system admin executables (``sbin``)
+#   system admin executables (``bin``)
 # ``LIBEXECDIR``
 #   program executables (``libexec``)
 # ``SYSCONFDIR``
@@ -164,8 +164,8 @@
 
 _GNUInstallDirs_cache_path(CMAKE_INSTALL_BINDIR "bin"
   "User executables (bin)")
-_GNUInstallDirs_cache_path(CMAKE_INSTALL_SBINDIR "sbin"
-  "System admin executables (sbin)")
+_GNUInstallDirs_cache_path(CMAKE_INSTALL_SBINDIR "bin"
+  "System admin executables (bin)")
 _GNUInstallDirs_cache_path(CMAKE_INSTALL_LIBEXECDIR "libexec"
   "Program executables (libexec)")
 _GNUInstallDirs_cache_path(CMAKE_INSTALL_SYSCONFDIR "etc"
@@ -201,52 +201,6 @@
   #    second time.
 
   set(_LIBDIR_DEFAULT "lib")
-  # Override this default 'lib' with 'lib64' iff:
-  #  - we are on Linux system but NOT cross-compiling
-  #  - we are NOT on debian
-  #  - we are on a 64 bits system
-  # reason is: amd64 ABI: https://github.com/hjl-tools/x86-psABI/wiki/X86-psABI
-  # For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
-  # CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
-  # and CMAKE_INSTALL_PREFIX is "/usr"
-  # See http://wiki.debian.org/Multiarch
-  if(DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX)
-    set(__LAST_LIBDIR_DEFAULT "lib")
-    # __LAST_LIBDIR_DEFAULT is the default value that we compute from
-    # _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX, not a cache entry for
-    # the value that was last used as the default.
-    # This value is used to figure out whether the user changed the
-    # CMAKE_INSTALL_LIBDIR value manually, or if the value was the
-    # default one. When CMAKE_INSTALL_PREFIX changes, the value is
-    # updated to the new default, unless the user explicitly changed it.
-  endif()
-  if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
-      AND NOT CMAKE_CROSSCOMPILING)
-    if (EXISTS "/etc/debian_version") # is this a debian system ?
-      if(CMAKE_LIBRARY_ARCHITECTURE)
-        if("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/?$")
-          set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
-        endif()
-        if(DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX
-            AND "${_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/?$")
-          set(__LAST_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
-        endif()
-      endif()
-    else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
-      if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
-        message(AUTHOR_WARNING
-          "Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known. "
-          "Please enable at least one language before including GNUInstallDirs.")
-      else()
-        if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
-          set(_LIBDIR_DEFAULT "lib64")
-          if(DEFINED _GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX)
-            set(__LAST_LIBDIR_DEFAULT "lib64")
-          endif()
-        endif()
-      endif()
-    endif()
-  endif()
   if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
     set(CMAKE_INSTALL_LIBDIR "${_LIBDIR_DEFAULT}" CACHE PATH "Object code libraries (${_LIBDIR_DEFAULT})")
   elseif(DEFINED __LAST_LIBDIR_DEFAULT
@@ -263,8 +217,8 @@
 
 _GNUInstallDirs_cache_path(CMAKE_INSTALL_INCLUDEDIR "include"
   "C header files (include)")
-_GNUInstallDirs_cache_path(CMAKE_INSTALL_OLDINCLUDEDIR "/usr/include"
-  "C header files for non-gcc (/usr/include)")
+_GNUInstallDirs_cache_path(CMAKE_INSTALL_OLDINCLUDEDIR "/include"
+  "C header files for non-gcc (/include)")
 _GNUInstallDirs_cache_path(CMAKE_INSTALL_DATAROOTDIR "share"
   "Read-only architecture-independent data root (share)")