build on macos (case insensitive filesystem)
As noted in #1602 (closed) and internally on EP2234, it would be convenient to build OpenFOAM on a case-insensitive filesystem.
Types of name clashes:
Direct name clashes
When directory names or files with the same directory resolve to identical names. Eg,
- src/OpenFOAM/matrices/lduMatrix
- src/OpenFOAM/matrices/LduMatrix
Symlink name clashes
When files exist in different directories, but resolve to identical names. Eg,
- Vector.H, vector.H
- PrimitivePatch.H, primitivePatch.H
after using wmakeLnInclude
this will resolve to the same symlink name.
Name masking
Not sure how many of these, but the OpenFOAM string.H
will definitely be found first when the compiler tries to resolve #include "<string.h>". No way around this other than renaming as
foamString.Hor
foam_string.H`.
Other considerations
Not sure if the case-insensitivity means that the make rules resolve the .C
endings as .c
and then invoke the c
compiler instead of c++
.
Some of these issues will be similar to what @wyldckat experienced with his Window port. Many of the conflicts from template files were resolved by renaming template files (eg, Vector.H
-> Vector.T.H
). Could work here, but not really sold on the naming convention.
For the others in the MacOS world (@alexey, @gerlero, @philipc, etc) - has anyone already started working on this, or even just thought about good ways to tackle it?