With cmake from git master or release,

find_dependency(KF5DesignerPlugin "4.96.0")

calls this cmake code:

macro(find_dependency dep)
  if (NOT ${dep}_FOUND)
    if (${ARGV1})
      set(version ${ARGV1})
    endif()
    set(exact_arg)
    [...]

which according to --trace, leads to

share/cmake-3.0/Modules/CMakeFindDependencyMacro.cmake(31):  if(NOT 
KF5DesignerPlugin_FOUND )
share/cmake-3.0/Modules/CMakeFindDependencyMacro.cmake(32):  if(4.96.0 )
share/cmake-3.0/Modules/CMakeFindDependencyMacro.cmake(35):  set(exact_arg )

i.e. the if (4.96.0) evaluates to false, and version is not set.

As a result, I get some old value of ${version} being used, it seems... it's 
set to 5.2 (from earlier find_package for Qt)

CMake Error at share/cmake-3.0/Modules/CMakeFindDependencyMacro.cmake:53 
(find_package):
  Could not find a configuration file for package "KF5DesignerPlugin" that is
  compatible with requested version "5.2".

Did something change with the behavior of if()?
Or is this a bug in CMakeFindDependencyMacro.cmake?

cmake v2.8.12.2 works, but doesn't have find_dependency at all - so I guess it 
works
via the one provided by ECM, which doesn't have this bug:  
macro(find_dependency dep version) ... 
no if().

-- 
David Faure, [email protected], http://www.davidfaure.fr
Working on KDE, in particular KDE Frameworks 5

_______________________________________________
Kde-buildsystem mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-buildsystem

Reply via email to