CMake don’t work when there are certain characters in build directory name
Usually it can’t detect compiler features, e.g. when there is a colon in the build directory name: cmake.log (build directory is named build:test
)
It works fine with fancy things like dots, eszett (ß), etc. But there are other characters that lead to fail, namely tabulation, newline and any of "#$:;\|
(ASCII 9, 10, 34, 35, 36, 58, 59 ,92, 124). Noticeable it works fine with other non-printable characters, single quotes, etc. in directory name.
Mostly it fails on detecting compile features, except of:
- backslash (92, cmake-92.log) causes it to fail early, it fails to find
..
(but works fine if I pass absolute path to the source) - double quote (34, cmake-34.log) makes it produce some funny errors
- semicolon (59, cmake-59.log) lets it behave really weirdly
- if meeting newline (10, cmake-10.log), it can’t even “compile a simple test program”