Browse Source

find_dependency: Make sure invalid EXACT use can be reported.

Test the first argument directly for matching 'EXACT'. The error
check in its previous position was incorrect and would only trigger
with a version of '0' or similar.
Stephen Kelly 11 years ago
parent
commit
224f50f42f
1 changed files with 3 additions and 3 deletions
  1. 3 3
      Modules/CMakeFindDependencyMacro.cmake

+ 3 - 3
Modules/CMakeFindDependencyMacro.cmake

@@ -31,6 +31,9 @@ macro(find_dependency dep)
   if (NOT ${dep}_FOUND)
     set(cmake_fd_version)
     if (${ARGC} GREATER 1)
+      if (${ARGV1} STREQUAL EXACT)
+        message(FATAL_ERROR "Invalid arguments to find_dependency. EXACT may only be specified if a VERSION is specified")
+      endif()
       set(cmake_fd_version ${ARGV1})
     endif()
     set(cmake_fd_exact_arg)
@@ -38,9 +41,6 @@ macro(find_dependency dep)
       if (NOT ${ARGV2} STREQUAL EXACT)
         message(FATAL_ERROR "Invalid arguments to find_dependency")
       endif()
-      if (NOT ${cmake_fd_version})
-        message(FATAL_ERROR "Invalid arguments to find_dependency. EXACT may only be specified if a VERSION is specified")
-      endif()
       set(cmake_fd_exact_arg EXACT)
     endif()
     if(${ARGC} GREATER 3)