瀏覽代碼

Help: Code example for case-insensitive comparison

Joachim Wuttke (h) 7 年之前
父節點
當前提交
2b2b41f038
共有 1 個文件被更改,包括 12 次插入3 次删除
  1. 12 3
      Help/manual/cmake-generator-expressions.7.rst

+ 12 - 3
Help/manual/cmake-generator-expressions.7.rst

@@ -65,7 +65,14 @@ String Comparisons
 
 ``$<STREQUAL:string1,string2>``
   ``1`` if ``string1`` and ``string2`` are equal, else ``0``.
-  The comparison is case-sensitive.
+  The comparison is case-sensitive.  For a case-insensitive comparison,
+  combine with a :ref:`string transforming generator expression
+  <String Transforming Generator Expressions>`,
+
+  .. code-block:: cmake
+
+    $<STREQUAL:$<UPPER_CASE:${foo}>,"BAR"> # "1" if ${foo} is any of "BAR", "Bar", "bar", ...
+
 ``$<EQUAL:value1,value2>``
   ``1`` if ``value1`` and ``value2`` are numerically equal, else ``0``.
 ``$<IN_LIST:string,list>``
@@ -254,8 +261,10 @@ Typically, the ``condition`` is a :ref:`boolean generator expression
 expands to ``DEBUG_MODE`` when the ``Debug`` configuration is used, and
 otherwise expands to the empty string.
 
-String Operations
------------------
+.. _`String Transforming Generator Expressions`:
+
+String Transformations
+----------------------
 
 ``$<JOIN:list,string>``
   Joins the list with the content of ``string``.