This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, master has been updated
       via  156f4c2f80a5aa603d71a24ba78441961bfcfd7d (commit)
       via  47777942a5b4be182f8e95eb39444a2e55a395a5 (commit)
       via  d427f12b7324c13d0b90cf02d2261cce8cf7be84 (commit)
       via  609fe39043f37366b50ee5ac0ae283b93af23492 (commit)
       via  ff29c92df63ec9a9311b56537db285920c8faa30 (commit)
      from  a96363f8991630e7b3a71efdbe41cdca57954459 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=156f4c2f80a5aa603d71a24ba78441961bfcfd7d
commit 156f4c2f80a5aa603d71a24ba78441961bfcfd7d
Merge: 4777794 609fe39
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jul 24 15:54:38 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Wed Jul 24 11:55:03 2019 -0400

    Merge topic 'find_pkg_use_new_global_controls'
    
    609fe39043 FindPackage:  Support `NO_[]_PATH` global call options
    ff29c92df6 Tests: find_file restore PATH env variable after test runs
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3590


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=47777942a5b4be182f8e95eb39444a2e55a395a5
commit 47777942a5b4be182f8e95eb39444a2e55a395a5
Merge: a96363f d427f12
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jul 24 15:53:43 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Wed Jul 24 11:53:54 2019 -0400

    Merge topic 'math_exp_not'
    
    d427f12b73 math(EXPR): Implement ~(exp_NOT) expression as documented
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3582


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d427f12b7324c13d0b90cf02d2261cce8cf7be84
commit d427f12b7324c13d0b90cf02d2261cce8cf7be84
Author:     Gabor Bencze <b.gabo...@gmail.com>
AuthorDate: Fri Jul 19 22:18:11 2019 +0200
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Jul 23 07:33:50 2019 -0400

    math(EXPR): Implement ~(exp_NOT) expression as documented
    
    Fixes: #19252

diff --git a/Source/LexerParser/cmExprParser.cxx 
b/Source/LexerParser/cmExprParser.cxx
index d2c65dc..8416e72 100644
--- a/Source/LexerParser/cmExprParser.cxx
+++ b/Source/LexerParser/cmExprParser.cxx
@@ -425,18 +425,18 @@ union yyalloc
 #endif /* !YYCOPY_NEEDED */
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  17
+#define YYFINAL  19
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   30
+#define YYLAST   34
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  17
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  10
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  23
+#define YYNRULES  24
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  39
+#define YYNSTATES  41
 
 #define YYUNDEFTOK  2
 #define YYMAXUTOK   271
@@ -486,7 +486,7 @@ static const yytype_uint8 yyrline[] =
 {
        0,    77,    77,    82,    85,    90,    93,    98,   101,   106,
      109,   112,   117,   120,   123,   128,   131,   134,   140,   145,
-     148,   151,   156,   159
+     148,   151,   154,   159,   162
 };
 #endif
 
@@ -513,10 +513,10 @@ static const yytype_uint16 yytoknum[] =
 };
 # endif
 
-#define YYPACT_NINF -8
+#define YYPACT_NINF -11
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-8)))
+  (!!((Yystate) == (-11)))
 
 #define YYTABLE_NINF -1
 
@@ -527,10 +527,11 @@ static const yytype_uint16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int8 yypact[] =
 {
-       0,     0,     0,     0,    -8,     2,    -7,    -5,     8,     3,
-      10,     1,    -8,    -8,    -8,    -8,     6,    -8,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    -8,    -5,
-       8,     3,    10,    10,     1,     1,    -8,    -8,    -8
+       1,     1,     1,     1,     1,   -11,     6,   -10,    -4,     9,
+       4,    11,     2,   -11,   -11,   -11,   -11,     7,   -11,   -11,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+     -11,    -4,     9,     4,    11,    11,     2,     2,   -11,   -11,
+     -11
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -538,22 +539,23 @@ static const yytype_int8 yypact[] =
      means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       0,     0,     0,     0,    22,     0,     2,     3,     5,     7,
-       9,    12,    15,    19,    20,    21,     0,     1,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    23,     4,
-       6,     8,    10,    11,    13,    14,    16,    17,    18
+       0,     0,     0,     0,     0,    23,     0,     2,     3,     5,
+       7,     9,    12,    15,    19,    20,    21,     0,    22,     1,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      24,     4,     6,     8,    10,    11,    13,    14,    16,    17,
+      18
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int8 yypgoto[] =
 {
-      -8,    -8,    12,     5,    11,     9,    -2,     4,    -1,    -8
+     -11,   -11,    22,    10,     8,    12,    -3,    -2,    -1,   -11
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int8 yydefgoto[] =
 {
-      -1,     5,     6,     7,     8,     9,    10,    11,    12,    13
+      -1,     6,     7,     8,     9,    10,    11,    12,    13,    14
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -561,28 +563,29 @@ static const yytype_int8 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_uint8 yytable[] =
 {
-      14,    15,    17,     1,     2,    18,    25,    26,    27,    19,
-       3,    21,    22,    23,    24,    16,     4,    28,    18,    32,
-      33,    20,     0,    29,    36,    37,    38,    34,    35,    31,
-      30
+      15,    16,    20,    18,     1,     2,    19,    27,    28,    29,
+      21,     3,    23,    24,    25,    26,     4,     5,    30,    20,
+      34,    35,    22,    36,    37,    17,    38,    39,    40,    32,
+      31,     0,     0,     0,    33
 };
 
 static const yytype_int8 yycheck[] =
 {
-       1,     2,     0,     3,     4,    12,     5,     6,     7,    14,
-      10,     8,     9,     3,     4,     3,    16,    11,    12,    21,
-      22,    13,    -1,    18,    25,    26,    27,    23,    24,    20,
-      19
+       1,     2,    12,     4,     3,     4,     0,     5,     6,     7,
+      14,    10,     8,     9,     3,     4,    15,    16,    11,    12,
+      23,    24,    13,    25,    26,     3,    27,    28,    29,    21,
+      20,    -1,    -1,    -1,    22
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
      symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
-       0,     3,     4,    10,    16,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    25,    25,    19,     0,    12,    14,
-      13,     8,     9,     3,     4,     5,     6,     7,    11,    20,
-      21,    22,    23,    23,    24,    24,    25,    25,    25
+       0,     3,     4,    10,    15,    16,    18,    19,    20,    21,
+      22,    23,    24,    25,    26,    25,    25,    19,    25,     0,
+      12,    14,    13,     8,     9,     3,     4,     5,     6,     7,
+      11,    20,    21,    22,    23,    23,    24,    24,    25,    25,
+      25
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
@@ -590,7 +593,7 @@ static const yytype_uint8 yyr1[] =
 {
        0,    17,    18,    19,    19,    20,    20,    21,    21,    22,
       22,    22,    23,    23,    23,    24,    24,    24,    24,    25,
-      25,    25,    26,    26
+      25,    25,    25,    26,    26
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -598,7 +601,7 @@ static const yytype_uint8 yyr2[] =
 {
        0,     2,     1,     1,     3,     1,     3,     1,     3,     1,
        3,     3,     1,     3,     3,     1,     3,     3,     3,     1,
-       2,     2,     1,     3
+       2,     2,     2,     1,     3
 };
 
 
@@ -1294,7 +1297,7 @@ yyreduce:
     {
     cmExpr_yyget_extra(yyscanner)->SetResult((yyvsp[0].Number));
   }
-#line 1298 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1301 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 3:
@@ -1302,7 +1305,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1306 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1309 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 4:
@@ -1310,7 +1313,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[-2].Number) | (yyvsp[0].Number);
   }
-#line 1314 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1317 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 5:
@@ -1318,7 +1321,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1322 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1325 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 6:
@@ -1326,7 +1329,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[-2].Number) ^ (yyvsp[0].Number);
   }
-#line 1330 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1333 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 7:
@@ -1334,7 +1337,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1338 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1341 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 8:
@@ -1342,7 +1345,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[-2].Number) & (yyvsp[0].Number);
   }
-#line 1346 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1349 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 9:
@@ -1350,7 +1353,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1354 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1357 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 10:
@@ -1358,7 +1361,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[-2].Number) << (yyvsp[0].Number);
   }
-#line 1362 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1365 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 11:
@@ -1366,7 +1369,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[-2].Number) >> (yyvsp[0].Number);
   }
-#line 1370 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1373 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 12:
@@ -1374,7 +1377,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1378 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1381 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 13:
@@ -1382,7 +1385,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[-2].Number) + (yyvsp[0].Number);
   }
-#line 1386 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1389 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 14:
@@ -1390,7 +1393,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[-2].Number) - (yyvsp[0].Number);
   }
-#line 1394 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1397 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 15:
@@ -1398,7 +1401,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1402 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1405 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 16:
@@ -1406,7 +1409,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[-2].Number) * (yyvsp[0].Number);
   }
-#line 1410 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1413 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 17:
@@ -1417,7 +1420,7 @@ yyreduce:
     }
     (yyval.Number) = (yyvsp[-2].Number) / (yyvsp[0].Number);
   }
-#line 1421 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1424 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 18:
@@ -1425,7 +1428,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[-2].Number) % (yyvsp[0].Number);
   }
-#line 1429 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1432 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 19:
@@ -1433,7 +1436,7 @@ yyreduce:
     {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1437 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1440 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 20:
@@ -1441,7 +1444,7 @@ yyreduce:
     {
     (yyval.Number) = + (yyvsp[0].Number);
   }
-#line 1445 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1448 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 21:
@@ -1449,27 +1452,35 @@ yyreduce:
     {
     (yyval.Number) = - (yyvsp[0].Number);
   }
-#line 1453 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1456 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 22:
-#line 156 "cmExprParser.y" /* yacc.c:1652  */
+#line 154 "cmExprParser.y" /* yacc.c:1652  */
     {
-    (yyval.Number) = (yyvsp[0].Number);
+    (yyval.Number) = ~ (yyvsp[0].Number);
   }
-#line 1461 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1464 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
   case 23:
 #line 159 "cmExprParser.y" /* yacc.c:1652  */
     {
+    (yyval.Number) = (yyvsp[0].Number);
+  }
+#line 1472 "cmExprParser.cxx" /* yacc.c:1652  */
+    break;
+
+  case 24:
+#line 162 "cmExprParser.y" /* yacc.c:1652  */
+    {
     (yyval.Number) = (yyvsp[-1].Number);
   }
-#line 1469 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1480 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
 
 
-#line 1473 "cmExprParser.cxx" /* yacc.c:1652  */
+#line 1484 "cmExprParser.cxx" /* yacc.c:1652  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -1702,7 +1713,7 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 164 "cmExprParser.y" /* yacc.c:1918  */
+#line 167 "cmExprParser.y" /* yacc.c:1918  */
 
 /* End of grammar */
 
diff --git a/Source/LexerParser/cmExprParser.y 
b/Source/LexerParser/cmExprParser.y
index 2137473..7ae2118 100644
--- a/Source/LexerParser/cmExprParser.y
+++ b/Source/LexerParser/cmExprParser.y
@@ -151,6 +151,9 @@ unary:
 | exp_MINUS unary {
     $<Number>$ = - $<Number>2;
   }
+| exp_NOT unary {
+    $<Number>$ = ~ $<Number>2;
+  }
 
 factor:
   exp_NUMBER {
diff --git a/Tests/MathTest/CMakeLists.txt b/Tests/MathTest/CMakeLists.txt
index 5403d29..396f633 100644
--- a/Tests/MathTest/CMakeLists.txt
+++ b/Tests/MathTest/CMakeLists.txt
@@ -16,6 +16,8 @@ set(expressions
   "1000 -12*5"
   "1000 +12*-5"
   "1000 -12*-5"
+  "~~1"
+  "1000 & ~0"
   )
 
 set(FILE_EXPRESSIONS "extern void test_expression(int x, int y, const char * 
text);\n")
diff --git a/Tests/RunCMake/math/MATH-InvalidExpression-stderr.txt 
b/Tests/RunCMake/math/MATH-InvalidExpression-stderr.txt
index 9e73ed5..22226f2 100644
--- a/Tests/RunCMake/math/MATH-InvalidExpression-stderr.txt
+++ b/Tests/RunCMake/math/MATH-InvalidExpression-stderr.txt
@@ -1,5 +1,5 @@
 ^CMake Error at MATH-InvalidExpression.cmake:1 \(math\):
-  math cannot parse the expression: "INVALID": syntax error, unexpected \$end,
-  expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER \(7\).
+  math cannot parse the expression: "INVALID": syntax error, unexpected \$end
+  \(7\).
 Call Stack \(most recent call first\):
   CMakeLists.txt:3 \(include\)$

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=609fe39043f37366b50ee5ac0ae283b93af23492
commit 609fe39043f37366b50ee5ac0ae283b93af23492
Author:     Robert Maynard <robert.mayn...@kitware.com>
AuthorDate: Mon Jul 22 15:44:37 2019 -0400
Commit:     Robert Maynard <robert.mayn...@kitware.com>
CommitDate: Mon Jul 22 17:17:02 2019 -0400

    FindPackage:  Support `NO_[]_PATH` global call options

diff --git a/Help/command/find_package.rst b/Help/command/find_package.rst
index 6e1d232..2186bd8 100644
--- a/Help/command/find_package.rst
+++ b/Help/command/find_package.rst
@@ -293,13 +293,15 @@ enabled.
    The package root variables are maintained as a stack so if
    called from within a find module, root paths from the parent's find
    module will also be searched after paths for the current package.
-   This can be skipped if ``NO_PACKAGE_ROOT_PATH`` is passed.
+   This can be skipped if ``NO_PACKAGE_ROOT_PATH`` is passed or by setting
+   the :variable:`CMAKE_FIND_USE_PACKAGE_ROOT_PATH` to ``FALSE``.
    See policy :policy:`CMP0074`.
 
 2. Search paths specified in cmake-specific cache variables.  These
    are intended to be used on the command line with a ``-DVAR=value``.
    The values are interpreted as :ref:`semicolon-separated lists <CMake 
Language Lists>`.
-   This can be skipped if ``NO_CMAKE_PATH`` is passed::
+   This can be skipped if ``NO_CMAKE_PATH`` is passed or by setting the
+   :variable:`CMAKE_FIND_USE_CMAKE_PATH` to ``FALSE``::
 
      CMAKE_PREFIX_PATH
      CMAKE_FRAMEWORK_PATH
@@ -309,7 +311,8 @@ enabled.
    These are intended to be set in the user's shell configuration,
    and therefore use the host's native path separator
    (``;`` on Windows and ``:`` on UNIX).
-   This can be skipped if ``NO_CMAKE_ENVIRONMENT_PATH`` is passed::
+   This can be skipped if ``NO_CMAKE_ENVIRONMENT_PATH`` is passed or by setting
+   the :variable:`CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH` to ``FALSE``::
 
      <PackageName>_DIR
      CMAKE_PREFIX_PATH
@@ -322,7 +325,8 @@ enabled.
    be specified with the ``PATHS`` option.
 
 5. Search the standard system environment variables.  This can be
-   skipped if ``NO_SYSTEM_ENVIRONMENT_PATH`` is passed.  Path entries
+   skipped if ``NO_SYSTEM_ENVIRONMENT_PATH`` is passed  or by setting the
+   :variable:`CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH` to ``FALSE``. Path 
entries
    ending in ``/bin`` or ``/sbin`` are automatically converted to their
    parent directories::
 
@@ -339,7 +343,8 @@ enabled.
 
 7. Search cmake variables defined in the Platform files for the
    current system.  This can be skipped if ``NO_CMAKE_SYSTEM_PATH`` is
-   passed::
+   passed or by setting the :variable:`CMAKE_FIND_USE_CMAKE_SYSTEM_PATH`
+   to ``FALSE``::
 
      CMAKE_SYSTEM_PREFIX_PATH
      CMAKE_SYSTEM_FRAMEWORK_PATH
diff --git a/Help/release/dev/global-controls-over-find-locations.rst 
b/Help/release/dev/global-controls-over-find-locations.rst
index 79bc869..1c0b226 100644
--- a/Help/release/dev/global-controls-over-find-locations.rst
+++ b/Help/release/dev/global-controls-over-find-locations.rst
@@ -2,8 +2,8 @@ global-controls-over-find-locations
 -----------------------------------
 
 * The :command:`find_file`, :command:`find_library`, :command:`find_path`,
-  and :command:`find_program` commands have learned to check the following
-  variables to control searching
+  :command:`find_package`, and :command:`find_program` commands have learned to
+  check the following variables to control searching
 
   * :variable:`CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH` - Controls the searching
     the cmake-specific environment variables.
diff --git a/Help/variable/CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH.rst 
b/Help/variable/CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH.rst
index 33514a0..2db5081 100644
--- a/Help/variable/CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH.rst
+++ b/Help/variable/CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH.rst
@@ -3,7 +3,7 @@ CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH
 
 Controls the searching the cmake-specific environment variables by the
 :command:`find_program`, :command:`find_library`, :command:`find_file`,
-and :command:`find_path` commands.
+:command:`find_path`, and command:`find_package` commands.
 This is useful in cross-compiling environments.
 
 By default this variable is not set, which is equivalent to it having
diff --git a/Help/variable/CMAKE_FIND_USE_CMAKE_PATH.rst 
b/Help/variable/CMAKE_FIND_USE_CMAKE_PATH.rst
index cefc645..4ca7ad1 100644
--- a/Help/variable/CMAKE_FIND_USE_CMAKE_PATH.rst
+++ b/Help/variable/CMAKE_FIND_USE_CMAKE_PATH.rst
@@ -3,7 +3,7 @@ CMAKE_FIND_USE_CMAKE_PATH
 
 Controls the searching the cmake-specific cache variables by the
 :command:`find_program`, :command:`find_library`, :command:`find_file`,
-and :command:`find_path` commands.
+:command:`find_path`, and command:`find_package` commands.
 This is useful in cross-compiling environments.
 
 By default this variable is not set, which is equivalent to it having
diff --git a/Help/variable/CMAKE_FIND_USE_CMAKE_SYSTEM_PATH.rst 
b/Help/variable/CMAKE_FIND_USE_CMAKE_SYSTEM_PATH.rst
index 2aa544d..d3259ae 100644
--- a/Help/variable/CMAKE_FIND_USE_CMAKE_SYSTEM_PATH.rst
+++ b/Help/variable/CMAKE_FIND_USE_CMAKE_SYSTEM_PATH.rst
@@ -3,7 +3,7 @@ CMAKE_FIND_USE_CMAKE_SYSTEM_PATH
 
 Controls the searching cmake platform specific variables by the
 :command:`find_program`, :command:`find_library`, :command:`find_file`,
-and :command:`find_path` commands.
+:command:`find_path`, and command:`find_package` commands.
 This is useful in cross-compiling environments.
 
 By default this variable is not set, which is equivalent to it having
diff --git a/Help/variable/CMAKE_FIND_USE_PACKAGE_ROOT_PATH.rst 
b/Help/variable/CMAKE_FIND_USE_PACKAGE_ROOT_PATH.rst
index 899e62e..e17fdcc 100644
--- a/Help/variable/CMAKE_FIND_USE_PACKAGE_ROOT_PATH.rst
+++ b/Help/variable/CMAKE_FIND_USE_PACKAGE_ROOT_PATH.rst
@@ -3,7 +3,7 @@ CMAKE_FIND_USE_PACKAGE_ROOT_PATH
 
 Controls the searching of :variable:`<PackageName>_ROOT` variables by the
 :command:`find_program`, :command:`find_library`, :command:`find_file`,
-and :command:`find_path` commands.
+:command:`find_path`, and command:`find_package` commands.
 This is useful in cross-compiling environments.
 
 By default this variable is not set, which is equivalent to it having
diff --git a/Help/variable/CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH.rst 
b/Help/variable/CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH.rst
index 604c710..71432f6 100644
--- a/Help/variable/CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH.rst
+++ b/Help/variable/CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH.rst
@@ -3,7 +3,7 @@ CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH
 
 Controls the searching the standard system environment variables by the
 :command:`find_program`, :command:`find_library`, :command:`find_file`,
-and :command:`find_path` commands.
+:command:`find_path`, and command:`find_package` commands.
 This is useful in cross-compiling environments.
 
 By default this variable is not set, which is equivalent to it having
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index c6d599e..e4551dd 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -225,6 +225,9 @@ bool 
cmFindPackageCommand::InitialPass(std::vector<std::string> const& args,
     this->SortDirection = strcmp(sd, "ASC") == 0 ? Asc : Dec;
   }
 
+  // Find what search path locations have been enabled/disable
+  this->SelectDefaultSearchModes();
+
   // Find the current root path mode.
   this->SelectDefaultRootPathMode();
 
diff --git a/Tests/RunCMake/find_package/FromPATHEnv-stdout.txt 
b/Tests/RunCMake/find_package/FromPATHEnv-stdout.txt
new file mode 100644
index 0000000..2ead349
--- /dev/null
+++ b/Tests/RunCMake/find_package/FromPATHEnv-stdout.txt
@@ -0,0 +1,9 @@
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='1'
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='0'
diff --git a/Tests/RunCMake/find_package/FromPATHEnv.cmake 
b/Tests/RunCMake/find_package/FromPATHEnv.cmake
new file mode 100644
index 0000000..4822b13
--- /dev/null
+++ b/Tests/RunCMake/find_package/FromPATHEnv.cmake
@@ -0,0 +1,27 @@
+set(ENV_PATH "$ENV{PATH}")
+foreach(path "/does_not_exist" "/PackageRoot" "")
+  unset(Resolved_FOUND CACHE)
+  set(Resolved_DIR "")
+  set(ENV{PATH} "${CMAKE_CURRENT_SOURCE_DIR}${path}")
+  find_package(Resolved QUIET)
+  message(STATUS "Resolved_FOUND='${Resolved_FOUND}'")
+endforeach()
+
+set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH OFF)
+foreach(path "/does_not_exist" "/PackageRoot" "")
+  unset(Resolved_FOUND CACHE)
+  set(Resolved_DIR "")
+  set(ENV{PATH} "${CMAKE_CURRENT_SOURCE_DIR}${path}")
+  find_package(Resolved QUIET)
+  message(STATUS "Resolved_FOUND='${Resolved_FOUND}'")
+endforeach()
+
+set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH ON)
+foreach(path "/does_not_exist" "/PackageRoot" "")
+  unset(Resolved_FOUND CACHE)
+  set(Resolved_DIR "")
+  set(ENV{PATH} "${CMAKE_CURRENT_SOURCE_DIR}${path}")
+  find_package(Resolved NO_SYSTEM_ENVIRONMENT_PATH QUIET)
+  message(STATUS "Resolved_FOUND='${Resolved_FOUND}'")
+endforeach()
+set(ENV{PATH} "${ENV_PATH}")
diff --git a/Tests/RunCMake/find_package/FromPrefixPath-stdout.txt 
b/Tests/RunCMake/find_package/FromPrefixPath-stdout.txt
new file mode 100644
index 0000000..2ead349
--- /dev/null
+++ b/Tests/RunCMake/find_package/FromPrefixPath-stdout.txt
@@ -0,0 +1,9 @@
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='1'
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='0'
+-- Resolved_FOUND='0'
diff --git a/Tests/RunCMake/find_package/FromPrefixPath.cmake 
b/Tests/RunCMake/find_package/FromPrefixPath.cmake
new file mode 100644
index 0000000..be853c1
--- /dev/null
+++ b/Tests/RunCMake/find_package/FromPrefixPath.cmake
@@ -0,0 +1,29 @@
+set(ENV_PATH "$ENV{PATH}")
+set(ENV{PATH} "")
+foreach(path "/does_not_exist" "/PackageRoot" "")
+  unset(Resolved_FOUND CACHE)
+  set(Resolved_DIR "")
+  set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}${path}")
+  find_package(Resolved QUIET)
+  message(STATUS "Resolved_FOUND='${Resolved_FOUND}'")
+endforeach()
+
+set(CMAKE_FIND_USE_CMAKE_PATH OFF)
+set(CMAKE_PREFIX_PATH )
+foreach(path "/does_not_exist" "/PackageRoot" "")
+  unset(Resolved_FOUND CACHE)
+  set(Resolved_DIR "")
+  set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}${path}")
+  find_package(Resolved QUIET)
+  message(STATUS "Resolved_FOUND='${Resolved_FOUND}'")
+endforeach()
+
+set(CMAKE_FIND_USE_CMAKE_PATH ON)
+foreach(path "/does_not_exist" "/PackageRoot" "")
+  unset(Resolved_FOUND CACHE)
+  set(Resolved_DIR "")
+  set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}${path}")
+  find_package(Resolved NO_CMAKE_PATH QUIET)
+  message(STATUS "Resolved_FOUND='${Resolved_FOUND}'")
+endforeach()
+set(ENV{PATH} "${ENV_PATH}")
diff --git a/Tests/RunCMake/find_package/RunCMakeTest.cmake 
b/Tests/RunCMake/find_package/RunCMakeTest.cmake
index 066523e..208f83c 100644
--- a/Tests/RunCMake/find_package/RunCMakeTest.cmake
+++ b/Tests/RunCMake/find_package/RunCMakeTest.cmake
@@ -3,6 +3,8 @@ include(RunCMake)
 run_cmake(CMP0074-WARN)
 run_cmake(CMP0074-OLD)
 run_cmake(ComponentRequiredAndOptional)
+run_cmake(FromPATHEnv)
+run_cmake(FromPrefixPath)
 run_cmake(MissingNormal)
 run_cmake(MissingNormalRequired)
 run_cmake(MissingNormalVersion)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ff29c92df63ec9a9311b56537db285920c8faa30
commit ff29c92df63ec9a9311b56537db285920c8faa30
Author:     Robert Maynard <robert.mayn...@kitware.com>
AuthorDate: Mon Jul 22 17:16:26 2019 -0400
Commit:     Robert Maynard <robert.mayn...@kitware.com>
CommitDate: Mon Jul 22 17:17:02 2019 -0400

    Tests: find_file restore PATH env variable after test runs

diff --git a/Tests/RunCMake/find_file/FromPrefixPath.cmake 
b/Tests/RunCMake/find_file/FromPrefixPath.cmake
index 1bf8409..63c6a07 100644
--- a/Tests/RunCMake/find_file/FromPrefixPath.cmake
+++ b/Tests/RunCMake/find_file/FromPrefixPath.cmake
@@ -1,3 +1,4 @@
+set(ENV_PATH "$ENV{PATH}")
 set(ENV{PATH} "")
 foreach(path "/does_not_exist" "/include" "")
   unset(PrefixInPATH_File CACHE)
@@ -15,3 +16,4 @@ foreach(path "/does_not_exist" "/include" "")
   message(STATUS "PrefixInPATH_File='${PrefixInPATH_File}'")
 endforeach()
 set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH ON)
+set(ENV{PATH} "${ENV_PATH}")

-----------------------------------------------------------------------

Summary of changes:
 Help/command/find_package.rst                      |  15 ++-
 .../dev/global-controls-over-find-locations.rst    |   4 +-
 .../CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH.rst      |   2 +-
 Help/variable/CMAKE_FIND_USE_CMAKE_PATH.rst        |   2 +-
 Help/variable/CMAKE_FIND_USE_CMAKE_SYSTEM_PATH.rst |   2 +-
 Help/variable/CMAKE_FIND_USE_PACKAGE_ROOT_PATH.rst |   2 +-
 .../CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH.rst     |   2 +-
 Source/LexerParser/cmExprParser.cxx                | 125 +++++++++++----------
 Source/LexerParser/cmExprParser.y                  |   3 +
 Source/cmFindPackageCommand.cxx                    |   3 +
 Tests/MathTest/CMakeLists.txt                      |   2 +
 Tests/RunCMake/find_file/FromPrefixPath.cmake      |   2 +
 Tests/RunCMake/find_package/FromPATHEnv-stdout.txt |   9 ++
 Tests/RunCMake/find_package/FromPATHEnv.cmake      |  27 +++++
 .../find_package/FromPrefixPath-stdout.txt         |   9 ++
 Tests/RunCMake/find_package/FromPrefixPath.cmake   |  29 +++++
 Tests/RunCMake/find_package/RunCMakeTest.cmake     |   2 +
 .../math/MATH-InvalidExpression-stderr.txt         |   4 +-
 18 files changed, 173 insertions(+), 71 deletions(-)
 create mode 100644 Tests/RunCMake/find_package/FromPATHEnv-stdout.txt
 create mode 100644 Tests/RunCMake/find_package/FromPATHEnv.cmake
 create mode 100644 Tests/RunCMake/find_package/FromPrefixPath-stdout.txt
 create mode 100644 Tests/RunCMake/find_package/FromPrefixPath.cmake


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
https://cmake.org/mailman/listinfo/cmake-commits

Reply via email to