summaryrefslogtreecommitdiff
path: root/Source/Checks/cm_cxx_filesystem.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-10-27 12:25:41 -0400
committerBrad King <brad.king@kitware.com>2020-10-27 12:25:41 -0400
commit80e693152c59e56b09103151465a6ae9b9710224 (patch)
treeab7b0a5ff1f44487a8852cb4717d7b2b1de2997b /Source/Checks/cm_cxx_filesystem.cxx
parent4c0ef57e8ca0f55783d4ad3e1545246fa188590b (diff)
parent8d6a0b9364581fbb95746c93cac4ec3c213f534b (diff)
downloadcmake-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.cxx27
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;
+}