try_compile: Restore expansion of ;-list in COMPILE_DEFINITIONS
The quoting added by commit 8c5221fb from !2716 (merged)
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 !2894 (merged) but was not recognized at the time
as a regression. Revert the workaround added by that commit.
Fixes: #18919 (closed)