[Cmake-commits] [cmake-commits] david.cole committed ExternalProject.cmake 1.2 1.3

cmake-commits at cmake.org cmake-commits at cmake.org
Thu Jul 2 17:38:32 EDT 2009


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv3787

Modified Files:
	ExternalProject.cmake 
Log Message:
BUG: Allow arbitrary text in values for some keywords. (And avoid warning that the arbitrary text is an unknown keyword.)


Index: ExternalProject.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/ExternalProject.cmake,v
retrieving revision 1.2
retrieving revision 1.3
diff -C 2 -d -r1.2 -r1.3
*** ExternalProject.cmake	2 Jul 2009 17:17:55 -0000	1.2
--- ExternalProject.cmake	2 Jul 2009 21:38:30 -0000	1.3
***************
*** 122,150 ****
    # or underscores to be keywords.
    set(key)
    foreach(arg IN LISTS args)
      if(arg MATCHES "^[A-Z][A-Z_][A-Z_]+$" AND
          NOT ((arg STREQUAL "${key}") AND (key STREQUAL "COMMAND")) AND
          NOT arg MATCHES "^(TRUE|FALSE)$")
!       # Keyword
!       set(key "${arg}")
!       if(_ep_keywords_${f} AND NOT key MATCHES "${_ep_keywords_${f}}")
!         message(AUTHOR_WARNING "unknown ${f} keyword: ${key}")
!       endif()
!     elseif(key)
!       # Value
!       if(NOT arg STREQUAL "")
!         set_property(TARGET ${name} APPEND PROPERTY ${ns}${key} "${arg}")
        else()
!         get_property(have_key TARGET ${name} PROPERTY ${ns}${key} SET)
!         if(have_key)
!           get_property(value TARGET ${name} PROPERTY ${ns}${key})
!           set_property(TARGET ${name} PROPERTY ${ns}${key} "${value};${arg}")
          else()
!           set_property(TARGET ${name} PROPERTY ${ns}${key} "${arg}")
          endif()
        endif()
      else()
!       # Missing Keyword
!       message(AUTHOR_WARNING "value with no keyword in ${f}")
      endif()
    endforeach()
--- 122,164 ----
    # or underscores to be keywords.
    set(key)
+ 
    foreach(arg IN LISTS args)
+     set(is_value 1)
+ 
      if(arg MATCHES "^[A-Z][A-Z_][A-Z_]+$" AND
          NOT ((arg STREQUAL "${key}") AND (key STREQUAL "COMMAND")) AND
          NOT arg MATCHES "^(TRUE|FALSE)$")
!       if(_ep_keywords_${f} AND arg MATCHES "${_ep_keywords_${f}}")
!         set(is_value 0)
        else()
!         if(NOT (key STREQUAL "COMMAND")
!           AND NOT (key STREQUAL "CVS_MODULE")
!           AND NOT (key STREQUAL "DEPENDS")
!           )
!           message(AUTHOR_WARNING "unknown ${f} keyword: ${arg}")
!         endif()
!       endif()
!     endif()
! 
!     if(is_value)
!       if(key)
!         # Value
!         if(NOT arg STREQUAL "")
!           set_property(TARGET ${name} APPEND PROPERTY ${ns}${key} "${arg}")
          else()
!           get_property(have_key TARGET ${name} PROPERTY ${ns}${key} SET)
!           if(have_key)
!             get_property(value TARGET ${name} PROPERTY ${ns}${key})
!             set_property(TARGET ${name} PROPERTY ${ns}${key} "${value};${arg}")
!           else()
!             set_property(TARGET ${name} PROPERTY ${ns}${key} "${arg}")
!           endif()
          endif()
+       else()
+         # Missing Keyword
+         message(AUTHOR_WARNING "value '${arg}' with no previous keyword in ${f}")
        endif()
      else()
!       set(key "${arg}")
      endif()
    endforeach()



More information about the Cmake-commits mailing list