3 ms·
I had a fun time trying to figure out why a dependency project, my own, was not building via FetchProject in cmake. Macos by default, like windows is case pres
by beached_whale 5y ago
I had a fun time trying to figure out why a dependency project, my own, was not building via FetchProject in cmake. Macos by default, like windows is case preserving but insensitive too. My CMakeList.txt file was named CMakelist.txt and Linux Ext4 is case sensitive. Cmake really shouldnt care, or use all lowercase everywhere
- SAI_Peregrinus 5y agoIMO filesystems should treat different characters as different. Case-insensitivity at the storage level is always a mistake. It's occasionally fine for search or display, but it's a lossy operation. Sadly legacy compatibility has kept this choice on a number of filesystems.
- qalmakka 5y agoCase insensitive filesystems are a horrible idea, because you have to take encodings into account and the Turkey test, which means that either your normalization is broken or something will be equal under en_US but not tr_TR. Normalization should be done in the file manager or in a gui file picker, and not at the filesystem level.
- SAI_Peregrinus 5y agoExactly. But Windows and MacOS were made with the US-centric view that letters of different case are identical (they're not, thankfully even ASCII didn't make that mistake), and now we're stuck with it due to large amounts of legacy software relying on that assumption.
- beached_whale 5y agoI agree, but I think that the tooling should appreciate and handle the cases uniformly. On a case sensitive system, in the not found error handling, look for other names and warning that this might be the case. Ideally for the cmake tool, the filename should not have anything but lowercase letters too.