CMake/Tests/TryCompile
Brad King cde2596a19 try_compile: Restore expansion of ;-list in COMPILE_DEFINITIONS
The quoting added by commit 8c5221fb1f (try_compile: Preserve special
characters in COMPILE_DEFINITIONS, 2019-01-21, v3.14.0-rc1~108^2~3)
broke the case that the `COMPILE_DEFINITIONS` value contains a `;`.
Without the quoting the `;` would be generated literally in an unquoted
argument in the test `CMakeLists.txt` file and would then be expanded.
With quoting the `;` is preserved, which is not the old behavior.

Fix this by expanding the `;`-list ahead of time.  Add test cases for
behavior with both `#` and `;`.

This was noticed with the PGI compiler where we set
`CMAKE_CXX*_STANDARD_COMPILE_OPTION` to values like `--c++17;-A`.  The
symptom had also been observed while preparing commit ef8f237686
(ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray
fix, 2019-01-29, v3.14.0-rc1~26^2~2) but was not recognized at the time
as a regression.  Revert the workaround added by that commit.

Fixes: #18919
2019-02-15 06:21:19 -05:00
..
Inner Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
check_a_b.c try_compile: Restore expansion of ;-list in COMPILE_DEFINITIONS 2019-02-15 06:21:19 -05:00
CMakeLists.txt try_compile: Restore expansion of ;-list in COMPILE_DEFINITIONS 2019-02-15 06:21:19 -05:00
exit_success.c
exit_with_error.c
expect_arg.c Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
fail2a.c Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
fail2b.c try_compile: Add signature to allow multiple SOURCES 2013-06-06 14:35:20 -04:00
fail.c
pass2a.c Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
pass2b.cxx Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
pass.c Revise C++ coding style using clang-format 2016-05-16 16:05:19 -04:00
testdef.c Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00