From b43c49109694940f0a26240753e879eb629dd02d Mon Sep 17 00:00:00 2001 From: Thomas Tuegel 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