Handle casing of UTF-8 strings
CMake source uses tolower and toupper transforms. Converting to lower case / upper case or string comparison with ignore case might not handle UTF-8 strings correctly.
For example cmake --server would have a problem because the getCMakeInputs function in source/cmServerProtocol.cxx uses a lowercasing transform which may not work for UTF-8 strings such as: eidengesäß
I tried setting up a subdirectory called eidengesäß so I could see the cmake --server problem but cache generation fails with the following error message: CMake Error at CMakeLists.txt:5 (add_subdirectory): add_subdirectory given source "eidenges " which is not an existing directory
I've attached a sample repro project. It's possible we may be able to use this library instead: http://site.icu-project.org/