Calling FindQt4 and FindKDE4 multiple times

David Faure faure at
Thu Oct 4 21:28:24 CEST 2007

What do you think about this patch?
It reduces the debug output (and the time, a little bit) when configuring extragear from the toplevel.
Because it's possible to configure it globally or each subdir separately, each subdir calls find_package(KDE4 REQUIRED)
so the output looks like a large mess with the multiple lines of output related "looking for Qt4" and "looking for KDE4" repeated 9 times.

KDE4_FOUND and QT4_FOUND don't go into the cache, so I think this change is correct, it only makes a difference
when find_package is done multiple times. (Maybe cmake itself could remember the packages called, and
notice "OK I have done find_package(KDE4 REQUIRED) already once, no need to do it again"?)

Index: FindKDE4Internal.cmake
--- FindKDE4Internal.cmake      (revision 721171)
+++ FindKDE4Internal.cmake      (revision 721172)
@@ -212,6 +212,9 @@
 # Redistribution and use is allowed according to the terms of the BSD license.
 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.

+  # Already found in this cmake run, nothing more to do

 include (MacroEnsureVersion)

@@ -972,3 +975,6 @@ if (NOT _kde4_uninstall_rule_created)
    add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake")

 endif (NOT _kde4_uninstall_rule_created)

--- FindQt4.cmake       (revision 721171)
+++ FindQt4.cmake       (revision 721172)
@@ -181,6 +181,10 @@
 # Copyright (c) 2002 Kitware, Inc., Insight Consortium.  All rights reserved.
 # See Copyright.txt or for details.

+   # Check already done in this cmake run, nothing more to do

@@ -1241,4 +1245,5 @@ ELSE(QT4_QMAKE_FOUND)


David Faure, faure at, sponsored by Trolltech to work on KDE,
Konqueror (, and KOffice (

More information about the Kde-buildsystem mailing list