[Cmake-commits] CMake branch, next, updated. v3.5.2-1303-g3880c44

Brad King brad.king at kitware.com
Mon May 9 12:58:25 EDT 2016


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, next has been updated
       via  3880c440e0a73b5b9898343bf17886ddfc50bd26 (commit)
       via  b30b32a4931080280680aa5b439c0d4918553c56 (commit)
      from  031c3cca6c024212d2b32aecae5d8ee7bfbe2dfc (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=3880c440e0a73b5b9898343bf17886ddfc50bd26
commit 3880c440e0a73b5b9898343bf17886ddfc50bd26
Merge: 031c3cc b30b32a
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon May 9 12:58:24 2016 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon May 9 12:58:24 2016 -0400

    Merge topic 'find-command-prefix-from-PATH-windows-only' into next
    
    b30b32a4 Drop find_(library|file|path) prefixes from PATH on non-Windows


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b30b32a4931080280680aa5b439c0d4918553c56
commit b30b32a4931080280680aa5b439c0d4918553c56
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon May 9 10:06:22 2016 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon May 9 12:58:08 2016 -0400

    Drop find_(library|file|path) prefixes from PATH on non-Windows
    
    Since commit v3.3.0-rc1~430^2 (Teach find_(library|file|path) to get
    prefixes from PATH, 2015-02-18) we search in <prefix>/include and
    <prefix>/lib directories for prefixes with bin directories in the PATH
    environment variable.  The motivation was to support MSYS, MinGW and
    similar Windows platforms in their default environments automatically.
    At the time this behavior was thought to be worthwhile in general.
    
    Suggested-by: Chuck Atkins <chuck.atkins at kitware.com>

diff --git a/Help/command/find_file.rst b/Help/command/find_file.rst
index bf7a919..e56097b 100644
--- a/Help/command/find_file.rst
+++ b/Help/command/find_file.rst
@@ -14,7 +14,8 @@ find_file
 .. |CMAKE_XXX_PATH| replace:: :variable:`CMAKE_INCLUDE_PATH`
 .. |CMAKE_XXX_MAC_PATH| replace:: :variable:`CMAKE_FRAMEWORK_PATH`
 
-.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``INCLUDE``,
+.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``INCLUDE``.
+   On Windows hosts:
    ``<prefix>/include/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE`
    is set, and |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR|, and the
    directories in ``PATH`` itself.
diff --git a/Help/command/find_library.rst b/Help/command/find_library.rst
index 5d07574..31e6ec0 100644
--- a/Help/command/find_library.rst
+++ b/Help/command/find_library.rst
@@ -14,7 +14,8 @@ find_library
 .. |CMAKE_XXX_PATH| replace:: :variable:`CMAKE_LIBRARY_PATH`
 .. |CMAKE_XXX_MAC_PATH| replace:: :variable:`CMAKE_FRAMEWORK_PATH`
 
-.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``LIB``,
+.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``LIB``.
+   On Windows hosts:
    ``<prefix>/lib/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE` is set,
    and |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR|,
    and the directories in ``PATH`` itself.
diff --git a/Help/command/find_path.rst b/Help/command/find_path.rst
index 4403cb5..76342d0 100644
--- a/Help/command/find_path.rst
+++ b/Help/command/find_path.rst
@@ -14,7 +14,8 @@ find_path
 .. |CMAKE_XXX_PATH| replace:: :variable:`CMAKE_INCLUDE_PATH`
 .. |CMAKE_XXX_MAC_PATH| replace:: :variable:`CMAKE_FRAMEWORK_PATH`
 
-.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``INCLUDE``,
+.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``INCLUDE``.
+   On Windows hosts:
    ``<prefix>/include/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE`
    is set, and |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR|, and the
    directories in ``PATH`` itself.
diff --git a/Help/release/dev/find-command-prefix-from-PATH-windows-only.rst b/Help/release/dev/find-command-prefix-from-PATH-windows-only.rst
new file mode 100644
index 0000000..be6eb3e
--- /dev/null
+++ b/Help/release/dev/find-command-prefix-from-PATH-windows-only.rst
@@ -0,0 +1,12 @@
+find-command-prefix-from-PATH-windows-only
+------------------------------------------
+
+* The :command:`find_library`, :command:`find_path`, and :command:`find_file`
+  commands no longer search in installation prefixes derived from the ``PATH``
+  environment variable on non-Windows platforms.  This behavior was added in
+  CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts.
+  Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for
+  their tools do not necessarily want any supporting ``<prefix>/lib``
+  directories searched.  One may set the ``CMAKE_PREFIX_PATH`` environment
+  variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are
+  to be searched.
diff --git a/Source/cmFindBase.cxx b/Source/cmFindBase.cxx
index 90091c1..995097f 100644
--- a/Source/cmFindBase.cxx
+++ b/Source/cmFindBase.cxx
@@ -276,10 +276,16 @@ void cmFindBase::FillSystemEnvironmentPath()
   if(!this->EnvironmentPath.empty())
     {
     paths.AddEnvPath(this->EnvironmentPath);
+#if defined(_WIN32) || defined(__CYGWIN__)
     paths.AddEnvPrefixPath("PATH", true);
+    paths.AddEnvPath("PATH");
+#endif
+    }
+  else
+    {
+    // Add PATH
+    paths.AddEnvPath("PATH");
     }
-  // Add PATH
-  paths.AddEnvPath("PATH");
   paths.AddSuffixes(this->SearchPathSuffixes);
 }
 
diff --git a/Tests/RunCMake/find_file/RunCMakeTest.cmake b/Tests/RunCMake/find_file/RunCMakeTest.cmake
index 014f397..5ce96e0 100644
--- a/Tests/RunCMake/find_file/RunCMakeTest.cmake
+++ b/Tests/RunCMake/find_file/RunCMakeTest.cmake
@@ -1,3 +1,5 @@
 include(RunCMake)
 
-run_cmake(PrefixInPATH)
+if(WIN32 OR CYGWIN)
+  run_cmake(PrefixInPATH)
+endif()
diff --git a/Tests/RunCMake/find_library/RunCMakeTest.cmake b/Tests/RunCMake/find_library/RunCMakeTest.cmake
index 136031c..5733965 100644
--- a/Tests/RunCMake/find_library/RunCMakeTest.cmake
+++ b/Tests/RunCMake/find_library/RunCMakeTest.cmake
@@ -1,4 +1,6 @@
 include(RunCMake)
 
 run_cmake(Created)
-run_cmake(PrefixInPATH)
+if(WIN32 OR CYGWIN)
+  run_cmake(PrefixInPATH)
+endif()
diff --git a/Tests/RunCMake/find_path/RunCMakeTest.cmake b/Tests/RunCMake/find_path/RunCMakeTest.cmake
index 014f397..5ce96e0 100644
--- a/Tests/RunCMake/find_path/RunCMakeTest.cmake
+++ b/Tests/RunCMake/find_path/RunCMakeTest.cmake
@@ -1,3 +1,5 @@
 include(RunCMake)
 
-run_cmake(PrefixInPATH)
+if(WIN32 OR CYGWIN)
+  run_cmake(PrefixInPATH)
+endif()

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

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list