parent
0adc4700dd
commit
cbdb05ae2f
@ -1,36 +0,0 @@
|
|||||||
From b2d7ab8bd17d0b5ccb1760e1058e670cea8eed49 Mon Sep 17 00:00:00 2001
|
|
||||||
From: James Clarke <jrtc27@jrtc27.com>
|
|
||||||
Date: Sun, 21 Oct 2018 09:59:11 +0100
|
|
||||||
Subject: [PATCH] GNUInstallDirs: Don't use BSD info and man paths on
|
|
||||||
GNU/kFreeBSD
|
|
||||||
|
|
||||||
---
|
|
||||||
Modules/GNUInstallDirs.cmake | 2 +-
|
|
||||||
Tests/RunCMake/GNUInstallDirs/RunCMakeTest.cmake | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Modules/GNUInstallDirs.cmake b/Modules/GNUInstallDirs.cmake
|
|
||||||
index 9dd464c8de..3dfcf8c959 100644
|
|
||||||
--- a/Modules/GNUInstallDirs.cmake
|
|
||||||
+++ b/Modules/GNUInstallDirs.cmake
|
|
||||||
@@ -276,7 +276,7 @@ _GNUInstallDirs_cache_path(CMAKE_INSTALL_DATAROOTDIR "share"
|
|
||||||
_GNUInstallDirs_cache_path_fallback(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATAROOTDIR}"
|
|
||||||
"Read-only architecture-independent data (DATAROOTDIR)")
|
|
||||||
|
|
||||||
-if(CMAKE_SYSTEM_NAME MATCHES "^(.*BSD|DragonFly)$")
|
|
||||||
+if(CMAKE_SYSTEM_NAME MATCHES "^(([^k].*)?BSD|DragonFly)$")
|
|
||||||
_GNUInstallDirs_cache_path_fallback(CMAKE_INSTALL_INFODIR "info"
|
|
||||||
"Info documentation (info)")
|
|
||||||
_GNUInstallDirs_cache_path_fallback(CMAKE_INSTALL_MANDIR "man"
|
|
||||||
diff --git a/Tests/RunCMake/GNUInstallDirs/RunCMakeTest.cmake b/Tests/RunCMake/GNUInstallDirs/RunCMakeTest.cmake
|
|
||||||
index b544ba6400..e00af581bc 100644
|
|
||||||
--- a/Tests/RunCMake/GNUInstallDirs/RunCMakeTest.cmake
|
|
||||||
+++ b/Tests/RunCMake/GNUInstallDirs/RunCMakeTest.cmake
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
include(RunCMake)
|
|
||||||
|
|
||||||
-if(SYSTEM_NAME MATCHES "^(.*BSD|DragonFly)$")
|
|
||||||
+if(SYSTEM_NAME MATCHES "^(([^k].*)?BSD|DragonFly)$")
|
|
||||||
set(EXPECT_BSD 1)
|
|
||||||
endif()
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
|||||||
From: Modestas Vainius <modax@debian.org>
|
|
||||||
Subject: Fix FTBFS on GNU/kFreeBSD (and likely Gnu/Hurd)
|
|
||||||
Forwarded: yes
|
|
||||||
Origin: vendor
|
|
||||||
|
|
||||||
The original failure [1] was caused by the fact that cxxabi.h execinfo.h etc.
|
|
||||||
includes where guarded more restrictively (e.g. additionally by __linux) than
|
|
||||||
the code which needs them (just by e.g.
|
|
||||||
KWSYS_SYSTEMINFORMATION_HAS_CPP_DEMANGLE). kFreeGNU has some of these headers
|
|
||||||
hence extend __linux ifdef to kFreeBSD and GNU Hurd as well.
|
|
||||||
|
|
||||||
Ideally, the code should be fixed to have the same level of ifdef protection in
|
|
||||||
all places.
|
|
||||||
|
|
||||||
[1] https://buildd.debian.org/status/fetch.php?pkg=cmake&arch=kfreebsd-amd64&ver=2.8.12-1&stamp=1383507045
|
|
||||||
|
|
||||||
---
|
|
||||||
Source/kwsys/SystemInformation.cxx | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/Source/kwsys/SystemInformation.cxx
|
|
||||||
+++ b/Source/kwsys/SystemInformation.cxx
|
|
||||||
@@ -112,7 +112,7 @@ typedef int siginfo_t;
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if defined(__linux) || defined(__sun) || defined(_SCO_DS)
|
|
||||||
+#if defined(__linux) || defined(__sun) || defined(_SCO_DS) || defined(__GLIBC__) || defined(__GNU__)
|
|
||||||
# include <netdb.h>
|
|
||||||
# include <netinet/in.h>
|
|
||||||
# include <sys/socket.h>
|
|
@ -1,23 +0,0 @@
|
|||||||
Description: Add missing libraries for kFreeBSD.
|
|
||||||
Author: Gregor Jasny <gjasny@googlemail.com>
|
|
||||||
Origin: upstream, https://gitlab.kitware.com/cmake/cmake/commit/6b7b54d476a297b32f8f1521f3255052b9dda1b6
|
|
||||||
Bug-Debian: https://bugs.debian.org/905138
|
|
||||||
Bug: https://gitlab.kitware.com/cmake/cmake/issues/18375
|
|
||||||
|
|
||||||
diff --git a/bootstrap b/bootstrap
|
|
||||||
index 188193d9a9..416a3d6780 100755
|
|
||||||
--- a/bootstrap
|
|
||||||
+++ b/bootstrap
|
|
||||||
@@ -1370,6 +1370,9 @@ else
|
|
||||||
uv_c_flags="${uv_c_flags} -D_GNU_SOURCE"
|
|
||||||
libs="${libs} -ldl -lrt"
|
|
||||||
;;
|
|
||||||
+ *kFreeBSD*)
|
|
||||||
+ libs="${libs} -lkvm -lfreebsd-glue"
|
|
||||||
+ ;;
|
|
||||||
*BSD*)
|
|
||||||
libs="${libs} -lkvm"
|
|
||||||
;;
|
|
||||||
--
|
|
||||||
2.18.0
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
|||||||
From c990649b8cec8bf875a22b1673228fab63368e5f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Svante Signell <svante.signell@gmail.com>
|
|
||||||
Date: Wed, 3 Oct 2018 11:50:10 -0400
|
|
||||||
Subject: [PATCH] Platform/GNU: Add Debian shared library permissions policy
|
|
||||||
|
|
||||||
Copy the `CMAKE_INSTALL_SO_NO_EXE` setting from `Platform/Linux`.
|
|
||||||
|
|
||||||
Fixes: #18376
|
|
||||||
---
|
|
||||||
Modules/Platform/GNU.cmake | 27 +++++++++++++++++++++++++++
|
|
||||||
1 file changed, 27 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/Modules/Platform/GNU.cmake b/Modules/Platform/GNU.cmake
|
|
||||||
index e8c3b657b6..fac29a8fa4 100644
|
|
||||||
--- a/Modules/Platform/GNU.cmake
|
|
||||||
+++ b/Modules/Platform/GNU.cmake
|
|
||||||
@@ -8,6 +8,33 @@ set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
|
|
||||||
set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
|
|
||||||
set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
|
|
||||||
|
|
||||||
+# Debian policy requires that shared libraries be installed without
|
|
||||||
+# executable permission. Fedora policy requires that shared libraries
|
|
||||||
+# be installed with the executable permission. Since the native tools
|
|
||||||
+# create shared libraries with execute permission in the first place a
|
|
||||||
+# reasonable policy seems to be to install with execute permission by
|
|
||||||
+# default. In order to support debian packages we provide an option
|
|
||||||
+# here. The option default is based on the current distribution, but
|
|
||||||
+# packagers can set it explicitly on the command line.
|
|
||||||
+if(DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
|
||||||
+ # Store the decision variable in the cache. This preserves any
|
|
||||||
+ # setting the user provides on the command line.
|
|
||||||
+ set(CMAKE_INSTALL_SO_NO_EXE "${CMAKE_INSTALL_SO_NO_EXE}" CACHE INTERNAL
|
|
||||||
+ "Install .so files without execute permission.")
|
|
||||||
+else()
|
|
||||||
+ # Store the decision variable as an internal cache entry to avoid
|
|
||||||
+ # checking the platform every time. This option is advanced enough
|
|
||||||
+ # that only package maintainers should need to adjust it. They are
|
|
||||||
+ # capable of providing a setting on the command line.
|
|
||||||
+ if(EXISTS "/etc/debian_version")
|
|
||||||
+ set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
|
|
||||||
+ "Install .so files without execute permission.")
|
|
||||||
+ else()
|
|
||||||
+ set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
|
|
||||||
+ "Install .so files without execute permission.")
|
|
||||||
+ endif()
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
set(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-gnu[a-z0-9_]*")
|
|
||||||
|
|
||||||
include(Platform/UnixPaths)
|
|
||||||
--
|
|
||||||
2.18.1
|
|
Loading…
Reference in new issue