suppress warnings about rand() and srand() on OpenBSD

We don't do crypto here, so a "poor" random doesn't matter. In fact we have API
to allow people to get a repeatable sequence by setting a specific seed.
Merge topic 'openbsd-warnings' into next

508a0c83 suppress warnings about rand() and srand() on OpenBSD
clean up usage of if(... MATCHES regex) followed string(REGEX REPLACE regex)

The matches have already been calculated and can simply be taken from
CMAKE_MATCH_n variables. This avoids multiple compilations of the same or very
similar regular expressions.
replace string(REGEX REPLACE) with string(REPLACE) where possible

The simple replacement is much faster.
remove .* expressions from beginning and end of MATCHES regexs

All these expressions work the same:
  "foo"
  ".*foo.*"
  "^.*foo.*$"

This assumes that the "Intel*" expressions were meant to be "Intel.*".
use CMAKE_SYSTEM_NAME instead of CMAKE_SYSTEM where sufficient
replace MATCHES ".+" tests with NOT STREQUAL ""
hunt down more place where a wildcard was used at the begin of a MATCHES regex

Writing "^(.+)?" must have happened on purpose in an attempt to escape my work
to replace "^.*", but it was futile.
replace MATCHES test on numbers with EQUAL test

The MATCHES tests were actually wrong, as "a4b" and "42" would also cause a
match when it should not.
Merge topic 'matches-cleanup' into next

450eec39 replace MATCHES test on numbers with EQUAL test
d0560bdd hunt down more place where a wildcard was used at the begin of a MATCHES regex
ccfef63f replace MATCHES ".+" tests with NOT STREQUAL ""
87a3fafc use CMAKE_SYSTEM_NAME instead of CMAKE_SYSTEM where sufficient
90354c27 remove .* expressions from beginning and end of MATCHES regexs
34f65026 replace string(REGEX REPLACE) with string(REPLACE) where possible
80d2c86b clean up usage of if(... MATCHES regex) followed string(REGEX REPLACE regex)