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 575f06e48c456c3b556fe6f70d0e3b23a3830e3c (commit) via 1c773b5d3aae0ad2146b1076ae8e00166f49a849 (commit) via aefb8559dca283b81d20a3f40afc8f39e6161ecb (commit) via ba872ea9c372b207d4fadaea7edc235c212e9a85 (commit) via 4d76239a5107c0eb63486d948ae862784cfc6f9b (commit) from e1e9e0697bdf0741ef9cc36441b448697ff6d86b (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=575f06e48c456c3b556fe6f70d0e3b23a3830e3c commit 575f06e48c456c3b556fe6f70d0e3b23a3830e3c Merge: 1c773b5 ba872ea Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Aug 9 11:52:45 2018 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Thu Aug 9 07:53:49 2018 -0400 Merge topic 'update-kwsys' ba872ea9c3 Merge branch 'upstream-KWSys' into update-kwsys 4d76239a51 KWSys 2018-08-07 (9044518f) Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !2268 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1c773b5d3aae0ad2146b1076ae8e00166f49a849 commit 1c773b5d3aae0ad2146b1076ae8e00166f49a849 Merge: e1e9e06 aefb855 Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Aug 9 11:52:02 2018 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Thu Aug 9 07:52:39 2018 -0400 Merge topic 'iwyu-std-hash' aefb8559dc IWYU: Fix workaround mapping for std::hash Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !2267 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=aefb8559dca283b81d20a3f40afc8f39e6161ecb commit aefb8559dca283b81d20a3f40afc8f39e6161ecb Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Aug 7 08:18:25 2018 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Tue Aug 7 12:04:58 2018 -0400 IWYU: Fix workaround mapping for std::hash It is provided by `functional`, not `utility`. Fix the mapping added by commit 276d3c7afe (IWYU: Add workaround mapping for std::hash, 2018-07-31). Also generalize the workaround from commit v3.12.0-rc1~39^2~1 (IWYU: Define a macro to tell code it is preprocessing for iwyu, 2018-05-25) to allow local builds to configure specific flags. This is needed because iwyu behaves differently in different environments. diff --git a/CMakeLists.txt b/CMakeLists.txt index e20d770..1fcd8f8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -285,7 +285,8 @@ if(CMake_RUN_IWYU) message(FATAL_ERROR "CMake_RUN_IWYU is ON but include-what-you-use is not found!") endif() set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE - "${IWYU_COMMAND};-Xiwyu;--mapping_file=${CMake_SOURCE_DIR}/Utilities/IWYU/mapping.imp;-w;-DCMAKE_IWYU") + "${IWYU_COMMAND};-Xiwyu;--mapping_file=${CMake_SOURCE_DIR}/Utilities/IWYU/mapping.imp;-w") + list(APPEND CMAKE_CXX_INCLUDE_WHAT_YOU_USE ${CMake_IWYU_OPTIONS}) endif() diff --git a/Source/cmFindPackageCommand.h b/Source/cmFindPackageCommand.h index d8c7ab3..48f17ef 100644 --- a/Source/cmFindPackageCommand.h +++ b/Source/cmFindPackageCommand.h @@ -7,6 +7,7 @@ #include "cm_kwiml.h" #include <cstddef> +#include <functional> #include <map> #include <set> #include <string> @@ -15,14 +16,12 @@ // IWYU insists we should forward-declare instead of including <functional>, // but we cannot forward-declare reliably because some C++ standard libraries // put the template in an inline namespace. -#ifdef CMAKE_IWYU +#ifdef CMAKE_IWYU_FORWARD_STD_HASH /* clang-format off */ namespace std { template <class T> struct hash; } /* clang-format on */ -#else -# include <functional> #endif #include "cmFindCommon.h" diff --git a/Source/cmServerProtocol.cxx b/Source/cmServerProtocol.cxx index b05eac4..c267160 100644 --- a/Source/cmServerProtocol.cxx +++ b/Source/cmServerProtocol.cxx @@ -37,7 +37,6 @@ #include <set> #include <string> #include <unordered_map> -#include <utility> #include <vector> // Get rid of some windows macros: diff --git a/Utilities/IWYU/mapping.imp b/Utilities/IWYU/mapping.imp index 77bb572..5af8b85 100644 --- a/Utilities/IWYU/mapping.imp +++ b/Utilities/IWYU/mapping.imp @@ -53,7 +53,7 @@ #{ symbol: [ "std::pair", private, "<set>", public ] }, # HACK: iwyu wrongly thinks that <system_error> is needed for std::hash - { symbol: [ "std::hash", private, "<utility>", public ] }, + { symbol: [ "std::hash", private, "<functional>", public ] }, # __decay_and_strip is used internally in the C++11 standard library. # IWYU does not classify it as internal and suggests to add <type_traits>. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ba872ea9c372b207d4fadaea7edc235c212e9a85 commit ba872ea9c372b207d4fadaea7edc235c212e9a85 Merge: 6038f07 4d76239 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Aug 7 07:16:09 2018 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Tue Aug 7 07:16:09 2018 -0400 Merge branch 'upstream-KWSys' into update-kwsys * upstream-KWSys: KWSys 2018-08-07 (9044518f) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4d76239a5107c0eb63486d948ae862784cfc6f9b commit 4d76239a5107c0eb63486d948ae862784cfc6f9b Author: KWSys Upstream <kwro...@kitware.com> AuthorDate: Tue Aug 7 07:15:48 2018 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Tue Aug 7 07:16:04 2018 -0400 KWSys 2018-08-07 (9044518f) Code extracted from: https://gitlab.kitware.com/utils/kwsys.git at commit 9044518f428b84da70f1e02d09b7cd4c35366831 (master). Upstream Shortlog ----------------- Jon Chronopoulos (1): 55a29eba SystemTools: Allow FileExists on Windows to follow symlinks diff --git a/SystemTools.cxx b/SystemTools.cxx index d552d9f..476fe08 100644 --- a/SystemTools.cxx +++ b/SystemTools.cxx @@ -1197,9 +1197,27 @@ bool SystemTools::FileExists(const std::string& filename) } return access(filename.c_str(), R_OK) == 0; #elif defined(_WIN32) - return ( - GetFileAttributesW(Encoding::ToWindowsExtendedPath(filename).c_str()) != - INVALID_FILE_ATTRIBUTES); + DWORD attr = + GetFileAttributesW(Encoding::ToWindowsExtendedPath(filename).c_str()); + if (attr == INVALID_FILE_ATTRIBUTES) { + return false; + } + + if (attr & FILE_ATTRIBUTE_REPARSE_POINT) { + // Using 0 instead of GENERIC_READ as it allows reading of file attributes + // even if we do not have permission to read the file itself + HANDLE handle = + CreateFileW(Encoding::ToWindowsExtendedPath(filename).c_str(), 0, 0, + NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL); + + if (handle == INVALID_HANDLE_VALUE) { + return false; + } + + CloseHandle(handle); + } + + return true; #else // SCO OpenServer 5.0.7/3.2's command has 711 permission. # if defined(_SCO_DS) ----------------------------------------------------------------------- Summary of changes: CMakeLists.txt | 3 ++- Source/cmFindPackageCommand.h | 5 ++--- Source/cmServerProtocol.cxx | 1 - Source/kwsys/SystemTools.cxx | 24 +++++++++++++++++++++--- Utilities/IWYU/mapping.imp | 2 +- 5 files changed, 26 insertions(+), 9 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org https://cmake.org/mailman/listinfo/cmake-commits