[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [extra-cmake-modules] modules: Defer to CMake's find_dependency macro if it exists
From:       Alex Merry <kde () randomguy3 ! me ! uk>
Date:       2014-02-21 11:17:46
Message-ID: E1WGo70-0001Bu-RK () scm ! kde ! org
[Download RAW message or body]

Git commit dfbbd75577d60299706e95ced5c4a245438f6a03 by Alex Merry.
Committed on 03/02/2014 at 18:38.
Pushed by alexmerry into branch 'master'.

Defer to CMake's find_dependency macro if it exists

This will be available in CMake 3.0.0.  This way, we automatically pick
up any new features from it.

REVIEW: 115775

M  +26   -22   modules/ECMPackageConfigHelpers.cmake

http://commits.kde.org/extra-cmake-modules/dfbbd75577d60299706e95ced5c4a245=
438f6a03

diff --git a/modules/ECMPackageConfigHelpers.cmake b/modules/ECMPackageConf=
igHelpers.cmake
index 7801739..ee6bfd6 100644
--- a/modules/ECMPackageConfigHelpers.cmake
+++ b/modules/ECMPackageConfigHelpers.cmake
@@ -100,31 +100,35 @@ macro(set_and_check _var _file)
   endif()
 endmacro()
 =

-macro(find_dependency dep version)
-  if (NOT \${dep}_FOUND)
+include(CMakeFindDependencyMacro OPTIONAL RESULT_VARIABLE _CMakeFindDepend=
encyMacro_FOUND)
 =

-    set(exact_arg)
-    if(\${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION_EXACT)
-      set(exact_arg EXACT)
-    endif()
-    set(quiet_arg)
-    if(\${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
-      set(quiet_arg QUIET)
-    endif()
-    set(required_arg)
-    if(\${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
-      set(required_arg REQUIRED)
-    endif()
-
-    find_package(\${dep} \${version} \${exact_arg} \${quiet_arg} \${requir=
ed_arg})
+if (NOT _CMakeFindDependencyMacro_FOUND)
+  macro(find_dependency dep version)
     if (NOT \${dep}_FOUND)
-      set(\${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE \"\${CMAKE_FIND_PA=
CKAGE_NAME} could not be found because dependency \${dep} could not be foun=
d.\")
+
+      set(exact_arg)
+      if(\${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION_EXACT)
+        set(exact_arg EXACT)
+      endif()
+      set(quiet_arg)
+      if(\${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
+        set(quiet_arg QUIET)
+      endif()
+      set(required_arg)
+      if(\${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
+        set(required_arg REQUIRED)
+      endif()
+
+      find_package(\${dep} \${version} \${exact_arg} \${quiet_arg} \${requ=
ired_arg})
+      if (NOT \${dep}_FOUND)
+        set(\${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE \"\${CMAKE_FIND_=
PACKAGE_NAME} could not be found because dependency \${dep} could not be fo=
und.\")
+      endif()
+      set(required_arg)
+      set(quiet_arg)
+      set(exact_arg)
     endif()
-    set(required_arg)
-    set(quiet_arg)
-    set(exact_arg)
-  endif()
-endmacro()
+  endmacro()
+endif()
 =

 ")
   endif()
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic