Files
CMake/Help/policy/CMP0110.rst
Deniz Bahadir a20987732b add_test: Allow special characters in test name (w/ policy CMP0110)
Restore the change from commit f84af8e270 (add_test: Allow special
characters in test name, 2020-05-16, v3.18.0-rc1~142^2) that had to be
reverted by commit f84af8e270 (add_test: Allow special characters in
test name, 2020-05-16, v3.18.0-rc1~142^2) for compatibility.

Add policy CMP0110 to make the change in a compatible way.
Also, support even more characters than before by generating the
test scripts using bracket arguments around the test names.

Fixes: #19391
Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
2020-08-12 10:44:07 -04:00

25 lines
1.2 KiB
ReStructuredText

CMP0110
-------
:command:`add_test` supports arbitrary characters in test names.
:command:`add_test` can now (officially) create tests with whitespace and
other special characters in its name. Before CMake version 3.19 that was not
allowed, however, it was possible to work around this limitation by explicitly
putting escaped quotes arount the test's name in the ``add_test`` command.
Although never officially supported several projects in the wild found and
implemented this workaround. However, the new change which officially allows
the ``add_test`` command to support whitespace and other special characters in
test names now breaks that workaround. In order for these projects to work
smoothly with newer CMake versions, this policy was introduced.
The ``OLD`` behavior of this policy is to still prevent ``add_test`` from
handling whitespace and special characters properly (if not using the
mentioned workaround). The ``NEW`` behavior on the other hand allows names
with whitespace and special characters for tests created by ``add_test``.
This policy was introduced in CMake version 3.19. CMake version |release|
warns when the policy is not set and uses ``OLD`` behavior. Use the
:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.