diff options
| author | Alex Merry <alex.merry@kde.org> | 2014-02-26 11:45:11 +0000 | 
|---|---|---|
| committer | Alex Merry <alex.merry@kde.org> | 2014-03-02 11:48:16 +0000 | 
| commit | e3d7a3e98d711afa0dbf64c59bdb58030179687a (patch) | |
| tree | 4d9bb7d652affbed3cce384f5999d23abf85f98b | |
| parent | 9287c5b48ede414048b4d3327787e8fd57715d01 (diff) | |
| download | extra-cmake-modules-e3d7a3e98d711afa0dbf64c59bdb58030179687a.tar.gz extra-cmake-modules-e3d7a3e98d711afa0dbf64c59bdb58030179687a.tar.bz2 | |
find_dependency: Update to match CMake's version
Specifically, we namespace the variables to avoid conflicts, and make
the version argument optional.
REVIEW: 116080
| -rw-r--r-- | modules/ECMPackageConfigHelpers.cmake | 32 | 
1 files changed, 21 insertions, 11 deletions
| diff --git a/modules/ECMPackageConfigHelpers.cmake b/modules/ECMPackageConfigHelpers.cmake index ee6bfd6f..2ccf32f6 100644 --- a/modules/ECMPackageConfigHelpers.cmake +++ b/modules/ECMPackageConfigHelpers.cmake @@ -103,29 +103,39 @@ endmacro()  include(CMakeFindDependencyMacro OPTIONAL RESULT_VARIABLE _CMakeFindDependencyMacro_FOUND)  if (NOT _CMakeFindDependencyMacro_FOUND) -  macro(find_dependency dep version) +  macro(find_dependency dep)      if (NOT \${dep}_FOUND) -      set(exact_arg) +      set(ecm_fd_version) +      if (\${ARGC} GREATER 1) +        set(ecm_fd_version \${ARGV1}) +      endif() +      set(ecm_fd_exact_arg)        if(\${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION_EXACT) -        set(exact_arg EXACT) +        set(ecm_fd_exact_arg EXACT)        endif() -      set(quiet_arg) +      set(ecm_fd_quiet_arg)        if(\${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) -        set(quiet_arg QUIET) +        set(ecm_fd_quiet_arg QUIET)        endif() -      set(required_arg) +      set(ecm_fd_required_arg)        if(\${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED) -        set(required_arg REQUIRED) +        set(ecm_fd_required_arg REQUIRED)        endif() -      find_package(\${dep} \${version} \${exact_arg} \${quiet_arg} \${required_arg}) +      find_package(\${dep} \${ecm_fd_version} +          \${ecm_fd_exact_arg} +          \${ecm_fd_quiet_arg} +          \${ecm_fd_required_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 found.\")        endif() -      set(required_arg) -      set(quiet_arg) -      set(exact_arg) +      set(ecm_fd_version) +      set(ecm_fd_required_arg) +      set(ecm_fd_quiet_arg) +      set(ecm_fd_exact_arg)      endif()    endmacro()  endif() | 
