nixpkgs/pkgs/applications/kde/kdelibs/0001-old-kde4-cmake-policies.patch

57 lines
2.4 KiB
Diff
Raw Normal View History

From b43c49109694940f0a26240753e879eb629dd02d Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Mon, 7 Sep 2015 13:54:57 -0500
Subject: [PATCH 1/2] old kde4 cmake policies
---
cmake/modules/FindKDE4Internal.cmake | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/cmake/modules/FindKDE4Internal.cmake b/cmake/modules/FindKDE4Internal.cmake
index 7d54b9b..c435571 100644
--- a/cmake/modules/FindKDE4Internal.cmake
+++ b/cmake/modules/FindKDE4Internal.cmake
@@ -345,6 +345,39 @@
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+# this is required now by cmake 2.6 and so must not be skipped by if(KDE4_FOUND) below
+cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR)
+# set the cmake policies to the 2.4.x compatibility settings (may change for KDE 4.3)
+cmake_policy(VERSION 2.4.5)
+
+# CMake 2.6, set compatibility behaviour to cmake 2.4
+# this must be executed always, because the CMAKE_MINIMUM_REQUIRED() command above
+# resets the policy settings, so we get a lot of warnings
+
+# CMP0000: don't require cmake_minimum_version() directly in the top level CMakeLists.txt, FindKDE4Internal.cmake is good enough
+cmake_policy(SET CMP0000 OLD)
+# CMP0002: in KDE4 we have multiple targets with the same name for the unit tests
+cmake_policy(SET CMP0002 OLD)
+# CMP0003: add the link paths to the link command as with cmake 2.4
+cmake_policy(SET CMP0003 OLD)
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy(SET CMP0005 OLD)
+# since cmake 2.6.3: NEW behaviour is that setting policies doesn't "escape" the file
+# where this is done, macros and functions are executed with the policies as they
+# were when the were defined. Keep the OLD behaviour so we can set the policies here
+# for all KDE software without the big warning
+cmake_policy(SET CMP0011 OLD)
+
+# since cmake 2.8.4: when include()ing from inside cmake's module dir, prefer the files
+# in this directory over those from CMAKE_MODULE_PATH
+cmake_policy(SET CMP0017 NEW)
+
+# since cmake 3.0: use of the LOCATION target property is disallowed while it is used in KDE4Macros.cmake
+if (POLICY CMP0026)
+ cmake_policy(SET CMP0026 OLD)
+endif (POLICY CMP0026)
+
+
# Only do something if it hasn't been found yet
if(NOT KDE4_FOUND)
--
2.5.0