diff options
author | Brad King <brad.king@kitware.com> | 2020-10-27 12:25:41 -0400 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-10-27 12:25:41 -0400 |
commit | 80e693152c59e56b09103151465a6ae9b9710224 (patch) | |
tree | ab7b0a5ff1f44487a8852cb4717d7b2b1de2997b /Source/Checks/cm_cxx_filesystem.cxx | |
parent | 4c0ef57e8ca0f55783d4ad3e1545246fa188590b (diff) | |
parent | 8d6a0b9364581fbb95746c93cac4ec3c213f534b (diff) | |
download | cmake-80e693152c59e56b09103151465a6ae9b9710224.tar.gz |
Merge branch 'release-3.19' into FindRuby-restore-VENDORLIB_DIR
Diffstat (limited to 'Source/Checks/cm_cxx_filesystem.cxx')
-rw-r--r-- | Source/Checks/cm_cxx_filesystem.cxx | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Source/Checks/cm_cxx_filesystem.cxx b/Source/Checks/cm_cxx_filesystem.cxx new file mode 100644 index 0000000000..ae8acc56a6 --- /dev/null +++ b/Source/Checks/cm_cxx_filesystem.cxx @@ -0,0 +1,27 @@ + +#include <filesystem> + +int main() +{ + std::filesystem::path p0(L"/a/b/c"); + + std::filesystem::path p1("/a/b/c"); + std::filesystem::path p2("/a/b/c"); + if (p1 != p2) { + return 1; + } + +#if defined(_WIN32) + std::filesystem::path p3("//host/a/b/../c"); + if (p3.lexically_normal().generic_string() != "//host/a/c") { + return 1; + } + + std::filesystem::path p4("c://a/.///b/../"); + if (p4.lexically_normal().generic_string() != "c:/a/") { + return 1; + } +#endif + + return 0; +} |