`stdlib_system`: essential path functionality
A few path related functions for ease of future functionality have been added.
joinpath: joins the given paths according to the platform'spath-separator.operator(/): as was suggested in the Fortran discourse here an operator is also provided for the same functionalitysplitpath: splits the path following the lastpath-separatorand returns theheadandtail.basename: just returns thetailofsplitpathdirname: just returns theheadofsplitpath
The pathsep parameter contains either / or \ depending on the platform and is a compile-time constant now, so is the parameter, ISWIN
Do let me know your thoughts.
Thanks for the PR, @wassup05. Just a minor point (not related to functionality) about examples for now: It's always useful - esp. for those learning by examples - to have an idea of the expected output. Other stdlib examples add the expected print results as a comment below the respective commands. I would recommend to do the same here.
I will add that with the other reviews @sebastian-mutz, I don't want to trigger the ci/cd workflow just for a few comments. Also on a second thought maybe instead of the if (ISWIN) ... thing I could separate the two examples...
The issue with Ninja detecting a "circular dependency" (there was non) was related to the stdlib_system.F90 file not being visible in a correct manner in the CMakeLists.txt file.
The group:
# Preprocessed files to contain preprocessor directives -> .F90
set(cppFiles
corresponds to .fypp files for which the suffix should be changed to .F90. Not for already .F90 files.
In absence of further comments, I will merge this one, thank you.