Browse Source

BUG: Fix AddExternalProject config command id

This fixes the get_configure_command_id function to not mistake
CONFIGURE_COMMAND values that run "cmake -P" or "cmake -E" for a CMake
project configuration.  These values just help run scripts.
Brad King 16 years ago
parent
commit
a30b84e4cc
1 changed files with 6 additions and 10 deletions
  1. 6 10
      Modules/AddExternalProject.cmake

+ 6 - 10
Modules/AddExternalProject.cmake

@@ -86,18 +86,14 @@ function(get_configure_command_id name cfg_cmd_id_var)
       set(${cfg_cmd_id_var} "cmake" PARENT_SCOPE)
     else()
       # Otherwise we have to analyze the value:
-      if(cmd MATCHES "/configure$")
+      if(cmd MATCHES "^[^;]*/configure")
+        set(${cfg_cmd_id_var} "configure" PARENT_SCOPE)
+      elseif(cmd MATCHES "^[^;]*/cmake" AND NOT cmd MATCHES ";-[PE];")
+        set(${cfg_cmd_id_var} "cmake" PARENT_SCOPE)
+      elseif(cmd MATCHES "config")
         set(${cfg_cmd_id_var} "configure" PARENT_SCOPE)
       else()
-        if(cmd MATCHES "cmake")
-          set(${cfg_cmd_id_var} "cmake" PARENT_SCOPE)
-        else()
-          if(cmd MATCHES "config")
-            set(${cfg_cmd_id_var} "configure" PARENT_SCOPE)
-          else()
-            set(${cfg_cmd_id_var} "unknown:${cmd}" PARENT_SCOPE)
-          endif()
-        endif()
+        set(${cfg_cmd_id_var} "unknown:${cmd}" PARENT_SCOPE)
       endif()
     endif()
   endif()