From 789307b02fe37e0af1a9016d11470a001b84bf39 Mon Sep 17 00:00:00 2001
From: Craig Scott <craig.scott@crascit.com>
Date: Sat, 17 Apr 2021 19:41:33 +1000
Subject: Help: Behavior of file(TO_NATIVE_PATH) depends on the host platform

---
 Help/command/file.rst | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Help/command/file.rst b/Help/command/file.rst
index 24e43e9..31de610 100644
--- a/Help/command/file.rst
+++ b/Help/command/file.rst
@@ -922,7 +922,8 @@ system search path like ``$ENV{PATH}``.  A search path will be converted
 to a cmake-style list separated by ``;`` characters.
 
 The ``TO_NATIVE_PATH`` mode converts a cmake-style ``<path>`` into a native
-path with platform-specific slashes (``\`` on Windows and ``/`` elsewhere).
+path with platform-specific slashes (``\`` on Windows hosts and ``/``
+elsewhere).
 
 Always use double quotes around the ``<path>`` to be sure it is treated
 as a single argument to this command.
-- 
cgit v0.12


From 6234afdff4feda1459b3b30d94cc07a48e8dfe68 Mon Sep 17 00:00:00 2001
From: Craig Scott <craig.scott@crascit.com>
Date: Sat, 17 Apr 2021 19:16:01 +1000
Subject: Help: Document special cases for if(IS_ABSOLUTE)

The meaning of "absolute path" was previously assumed knowledge,
but a number of special cases were left unspecified. The way some of
these are handled differs to the way that cmake_path(IS_ABSOLUTE)
works, so document those special cases so that the differing behavior
between these two commands is clearly defined.
---
 Help/command/if.rst | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/Help/command/if.rst b/Help/command/if.rst
index f327ca9..fbf3e36 100644
--- a/Help/command/if.rst
+++ b/Help/command/if.rst
@@ -153,7 +153,16 @@ File Operations
  only for full paths.
 
 ``if(IS_ABSOLUTE path)``
- True if the given path is an absolute path.
+ True if the given path is an absolute path.  Note the following special
+ cases:
+
+ * An empty ``path`` evaluates to false.
+ * On Windows hosts, any ``path`` that begins with a drive letter and colon
+   (e.g. ``C:``), a forward slash or a backslash will evaluate to true.
+   This means a path like ``C:no\base\dir`` will evaluate to true, even
+   though the non-drive part of the path is relative.
+ * On non-Windows hosts, any ``path`` that begins with a tilde (``~``)
+   evaluates to true.
 
 Comparisons
 """""""""""
-- 
cgit v0.12