mirror of
https://github.com/reactos/CMake.git
synced 2024-12-03 17:11:04 +00:00
cde2596a19
The quoting added by commit8c5221fb1f
(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 commitef8f237686
(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
11 lines
123 B
C
11 lines
123 B
C
#ifndef DEF_A
|
|
# error DEF_A not defined
|
|
#endif
|
|
#ifndef DEF_B
|
|
# error DEF_B not defined
|
|
#endif
|
|
int main()
|
|
{
|
|
return 0;
|
|
}
|