BUG: Allow arbitrary text in values for some keywords. (And avoid warning that the arbitrary text is an unknown keyword.)
This commit is contained in:
parent
5b51ad580b
commit
10f4e911f0
|
@ -121,16 +121,27 @@ function(_ep_parse_arguments f name ns args)
|
||||||
# upper-case letter followed by at least two more upper-case letters
|
# upper-case letter followed by at least two more upper-case letters
|
||||||
# or underscores to be keywords.
|
# or underscores to be keywords.
|
||||||
set(key)
|
set(key)
|
||||||
|
|
||||||
foreach(arg IN LISTS args)
|
foreach(arg IN LISTS args)
|
||||||
|
set(is_value 1)
|
||||||
|
|
||||||
if(arg MATCHES "^[A-Z][A-Z_][A-Z_]+$" AND
|
if(arg MATCHES "^[A-Z][A-Z_][A-Z_]+$" AND
|
||||||
NOT ((arg STREQUAL "${key}") AND (key STREQUAL "COMMAND")) AND
|
NOT ((arg STREQUAL "${key}") AND (key STREQUAL "COMMAND")) AND
|
||||||
NOT arg MATCHES "^(TRUE|FALSE)$")
|
NOT arg MATCHES "^(TRUE|FALSE)$")
|
||||||
# Keyword
|
if(_ep_keywords_${f} AND arg MATCHES "${_ep_keywords_${f}}")
|
||||||
set(key "${arg}")
|
set(is_value 0)
|
||||||
if(_ep_keywords_${f} AND NOT key MATCHES "${_ep_keywords_${f}}")
|
else()
|
||||||
message(AUTHOR_WARNING "unknown ${f} keyword: ${key}")
|
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()
|
||||||
elseif(key)
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(is_value)
|
||||||
|
if(key)
|
||||||
# Value
|
# Value
|
||||||
if(NOT arg STREQUAL "")
|
if(NOT arg STREQUAL "")
|
||||||
set_property(TARGET ${name} APPEND PROPERTY ${ns}${key} "${arg}")
|
set_property(TARGET ${name} APPEND PROPERTY ${ns}${key} "${arg}")
|
||||||
|
@ -145,7 +156,10 @@ function(_ep_parse_arguments f name ns args)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
# Missing Keyword
|
# Missing Keyword
|
||||||
message(AUTHOR_WARNING "value with no keyword in ${f}")
|
message(AUTHOR_WARNING "value '${arg}' with no previous keyword in ${f}")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
set(key "${arg}")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endfunction(_ep_parse_arguments)
|
endfunction(_ep_parse_arguments)
|
||||||
|
|
Loading…
Reference in New Issue