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 1529102dab129c3d2e1010f1e37544fd4a698f5d (commit) via c15dc1972839e175afaa9011f74376dadf08277f (commit) from 2b3a600e8570df998247ed89da75522cb97e8563 (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=1529102dab129c3d2e1010f1e37544fd4a698f5d commit 1529102dab129c3d2e1010f1e37544fd4a698f5d Merge: 2b3a600 c15dc19 Author: Daniel Pfeifer <dan...@pfeifer-mail.de> AuthorDate: Mon Oct 24 16:36:31 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Mon Oct 24 16:36:31 2016 -0400 Merge topic 'cm_unordered_set' into next c15dc197 Introduce CM_UNORDERED_SET https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c15dc1972839e175afaa9011f74376dadf08277f commit c15dc1972839e175afaa9011f74376dadf08277f Author: Daniel Pfeifer <dan...@pfeifer-mail.de> AuthorDate: Mon Oct 24 22:33:18 2016 +0200 Commit: Daniel Pfeifer <dan...@pfeifer-mail.de> CommitDate: Mon Oct 24 22:34:52 2016 +0200 Introduce CM_UNORDERED_SET Avoid duplicating switch among std::unordered_set, cmsys::hash_set, and std::set. diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 8ac302a..ca056c0 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -21,6 +21,7 @@ #include "cmTargetLinkLibraryType.h" #include "cmTargetPropertyComputer.h" #include "cm_auto_ptr.hxx" +#include "cm_unordered_set.hxx" #include "cmake.h" #include <algorithm> @@ -34,16 +35,6 @@ #include <stdlib.h> #include <string.h> -#if defined(CMake_HAVE_CXX_UNORDERED_SET) -#include <unordered_set> -#define UNORDERED_SET std::unordered_set -#elif defined(CMAKE_BUILD_WITH_CMAKE) -#include <cmsys/hash_set.hxx> -#define UNORDERED_SET cmsys::hash_set -#else -#define UNORDERED_SET std::set -#endif - template <> const char* cmTargetPropertyComputer::GetSources<cmGeneratorTarget>( cmGeneratorTarget const* tgt, cmMessenger* /* messenger */, @@ -926,7 +917,7 @@ static void AddInterfaceEntries( static bool processSources( cmGeneratorTarget const* tgt, const std::vector<cmGeneratorTarget::TargetPropertyEntry*>& entries, - std::vector<std::string>& srcs, UNORDERED_SET<std::string>& uniqueSrcs, + std::vector<std::string>& srcs, CM_UNORDERED_SET<std::string>& uniqueSrcs, cmGeneratorExpressionDAGChecker* dagChecker, std::string const& config, bool debugSources) { @@ -1053,7 +1044,7 @@ void cmGeneratorTarget::GetSourceFiles(std::vector<std::string>& files, cmGeneratorExpressionDAGChecker dagChecker(this->GetName(), "SOURCES", CM_NULLPTR, CM_NULLPTR); - UNORDERED_SET<std::string> uniqueSrcs; + CM_UNORDERED_SET<std::string> uniqueSrcs; bool contextDependentDirectSources = processSources(this, this->SourceEntries, files, uniqueSrcs, &dagChecker, config, debugSources); @@ -1592,7 +1583,7 @@ class cmTargetCollectLinkLanguages public: cmTargetCollectLinkLanguages(cmGeneratorTarget const* target, const std::string& config, - UNORDERED_SET<std::string>& languages, + CM_UNORDERED_SET<std::string>& languages, cmGeneratorTarget const* head) : Config(config) , Languages(languages) @@ -1659,7 +1650,7 @@ public: private: std::string Config; - UNORDERED_SET<std::string>& Languages; + CM_UNORDERED_SET<std::string>& Languages; cmGeneratorTarget const* HeadTarget; const cmGeneratorTarget* Target; std::set<cmGeneratorTarget const*> Visited; @@ -1731,7 +1722,7 @@ void cmGeneratorTarget::ComputeLinkClosure(const std::string& config, LinkClosure& lc) const { // Get languages built in this target. - UNORDERED_SET<std::string> languages; + CM_UNORDERED_SET<std::string> languages; cmLinkImplementation const* impl = this->GetLinkImplementation(config); assert(impl); for (std::vector<std::string>::const_iterator li = impl->Languages.begin(); @@ -1748,7 +1739,7 @@ void cmGeneratorTarget::ComputeLinkClosure(const std::string& config, } // Store the transitive closure of languages. - for (UNORDERED_SET<std::string>::const_iterator li = languages.begin(); + for (CM_UNORDERED_SET<std::string>::const_iterator li = languages.begin(); li != languages.end(); ++li) { lc.Languages.push_back(*li); } @@ -1769,7 +1760,7 @@ void cmGeneratorTarget::ComputeLinkClosure(const std::string& config, } // Now consider languages that propagate from linked targets. - for (UNORDERED_SET<std::string>::const_iterator sit = languages.begin(); + for (CM_UNORDERED_SET<std::string>::const_iterator sit = languages.begin(); sit != languages.end(); ++sit) { std::string propagates = "CMAKE_" + *sit + "_LINKER_PREFERENCE_PROPAGATES"; @@ -2338,7 +2329,7 @@ static void processIncludeDirectories( cmGeneratorTarget const* tgt, const std::vector<cmGeneratorTarget::TargetPropertyEntry*>& entries, std::vector<std::string>& includes, - UNORDERED_SET<std::string>& uniqueIncludes, + CM_UNORDERED_SET<std::string>& uniqueIncludes, cmGeneratorExpressionDAGChecker* dagChecker, const std::string& config, bool debugIncludes, const std::string& language) { @@ -2451,7 +2442,7 @@ std::vector<std::string> cmGeneratorTarget::GetIncludeDirectories( const std::string& config, const std::string& lang) const { std::vector<std::string> includes; - UNORDERED_SET<std::string> uniqueIncludes; + CM_UNORDERED_SET<std::string> uniqueIncludes; cmGeneratorExpressionDAGChecker dagChecker( this->GetName(), "INCLUDE_DIRECTORIES", CM_NULLPTR, CM_NULLPTR); @@ -2528,7 +2519,8 @@ std::vector<std::string> cmGeneratorTarget::GetIncludeDirectories( static void processCompileOptionsInternal( cmGeneratorTarget const* tgt, const std::vector<cmGeneratorTarget::TargetPropertyEntry*>& entries, - std::vector<std::string>& options, UNORDERED_SET<std::string>& uniqueOptions, + std::vector<std::string>& options, + CM_UNORDERED_SET<std::string>& uniqueOptions, cmGeneratorExpressionDAGChecker* dagChecker, const std::string& config, bool debugOptions, const char* logName, std::string const& language) { @@ -2565,7 +2557,8 @@ static void processCompileOptionsInternal( static void processCompileOptions( cmGeneratorTarget const* tgt, const std::vector<cmGeneratorTarget::TargetPropertyEntry*>& entries, - std::vector<std::string>& options, UNORDERED_SET<std::string>& uniqueOptions, + std::vector<std::string>& options, + CM_UNORDERED_SET<std::string>& uniqueOptions, cmGeneratorExpressionDAGChecker* dagChecker, const std::string& config, bool debugOptions, std::string const& language) { @@ -2578,7 +2571,7 @@ void cmGeneratorTarget::GetCompileOptions(std::vector<std::string>& result, const std::string& config, const std::string& language) const { - UNORDERED_SET<std::string> uniqueOptions; + CM_UNORDERED_SET<std::string> uniqueOptions; cmGeneratorExpressionDAGChecker dagChecker( this->GetName(), "COMPILE_OPTIONS", CM_NULLPTR, CM_NULLPTR); @@ -2618,7 +2611,8 @@ void cmGeneratorTarget::GetCompileOptions(std::vector<std::string>& result, static void processCompileFeatures( cmGeneratorTarget const* tgt, const std::vector<cmGeneratorTarget::TargetPropertyEntry*>& entries, - std::vector<std::string>& options, UNORDERED_SET<std::string>& uniqueOptions, + std::vector<std::string>& options, + CM_UNORDERED_SET<std::string>& uniqueOptions, cmGeneratorExpressionDAGChecker* dagChecker, const std::string& config, bool debugOptions) { @@ -2630,7 +2624,7 @@ static void processCompileFeatures( void cmGeneratorTarget::GetCompileFeatures(std::vector<std::string>& result, const std::string& config) const { - UNORDERED_SET<std::string> uniqueFeatures; + CM_UNORDERED_SET<std::string> uniqueFeatures; cmGeneratorExpressionDAGChecker dagChecker( this->GetName(), "COMPILE_FEATURES", CM_NULLPTR, CM_NULLPTR); @@ -2667,7 +2661,8 @@ void cmGeneratorTarget::GetCompileFeatures(std::vector<std::string>& result, static void processCompileDefinitions( cmGeneratorTarget const* tgt, const std::vector<cmGeneratorTarget::TargetPropertyEntry*>& entries, - std::vector<std::string>& options, UNORDERED_SET<std::string>& uniqueOptions, + std::vector<std::string>& options, + CM_UNORDERED_SET<std::string>& uniqueOptions, cmGeneratorExpressionDAGChecker* dagChecker, const std::string& config, bool debugOptions, std::string const& language) { @@ -2680,7 +2675,7 @@ void cmGeneratorTarget::GetCompileDefinitions( std::vector<std::string>& list, const std::string& config, const std::string& language) const { - UNORDERED_SET<std::string> uniqueOptions; + CM_UNORDERED_SET<std::string> uniqueOptions; cmGeneratorExpressionDAGChecker dagChecker( this->GetName(), "COMPILE_DEFINITIONS", CM_NULLPTR, CM_NULLPTR); @@ -4149,7 +4144,7 @@ void cmGeneratorTarget::ComputeLinkInterface( this->GetType() == cmStateEnums::INTERFACE_LIBRARY) { // Shared libraries may have runtime implementation dependencies // on other shared libraries that are not in the interface. - UNORDERED_SET<std::string> emitted; + CM_UNORDERED_SET<std::string> emitted; for (std::vector<cmLinkItem>::const_iterator li = iface.Libraries.begin(); li != iface.Libraries.end(); ++li) { diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 6f47f85..25ae339 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -16,6 +16,7 @@ #include "cmState.h" #include "cmSystemTools.h" #include "cmTargetPropertyComputer.h" +#include "cm_unordered_set.hxx" #include "cmake.h" #include <algorithm> @@ -26,16 +27,6 @@ #include <sstream> #include <string.h> -#if defined(CMake_HAVE_CXX_UNORDERED_SET) -#include <unordered_set> -#define UNORDERED_SET std::unordered_set -#elif defined(CMAKE_BUILD_WITH_CMAKE) -#include <cmsys/hash_set.hxx> -#define UNORDERED_SET cmsys::hash_set -#else -#define UNORDERED_SET std::set -#endif - template <> const char* cmTargetPropertyComputer::ComputeLocationForBuild<cmTarget>( cmTarget const* tgt) @@ -1145,7 +1136,7 @@ const char* cmTarget::GetComputedProperty( const char* cmTarget::GetProperty(const std::string& prop) const { - static UNORDERED_SET<std::string> specialProps; + static CM_UNORDERED_SET<std::string> specialProps; #define MAKE_STATIC_PROP(PROP) static const std::string prop##PROP = #PROP MAKE_STATIC_PROP(LINK_LIBRARIES); MAKE_STATIC_PROP(TYPE); diff --git a/Source/cmTargetPropertyComputer.cxx b/Source/cmTargetPropertyComputer.cxx index 36d1940..7cf1fd8 100644 --- a/Source/cmTargetPropertyComputer.cxx +++ b/Source/cmTargetPropertyComputer.cxx @@ -10,16 +10,7 @@ #include "cmSourceFile.h" #include "cmSourceFileLocation.h" #include "cmTarget.h" - -#if defined(CMake_HAVE_CXX_UNORDERED_SET) -#include <unordered_set> -#define UNORDERED_SET std::unordered_set -#elif defined(CMAKE_BUILD_WITH_CMAKE) -#include <cmsys/hash_set.hxx> -#define UNORDERED_SET cmsys::hash_set -#else -#define UNORDERED_SET std::set -#endif +#include "cm_unordered_set.hxx" bool cmTargetPropertyComputer::HandleLocationPropertyPolicy( std::string const& tgtName, cmMessenger* messenger, @@ -59,7 +50,7 @@ bool cmTargetPropertyComputer::WhiteListedInterfaceProperty( if (cmHasLiteralPrefix(prop, "INTERFACE_")) { return true; } - static UNORDERED_SET<std::string> builtIns; + static CM_UNORDERED_SET<std::string> builtIns; if (builtIns.empty()) { builtIns.insert("COMPATIBLE_INTERFACE_BOOL"); builtIns.insert("COMPATIBLE_INTERFACE_NUMBER_MAX"); diff --git a/Source/cm_unordered_set.hxx b/Source/cm_unordered_set.hxx new file mode 100644 index 0000000..ce58dbf --- /dev/null +++ b/Source/cm_unordered_set.hxx @@ -0,0 +1,25 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef CM_UNORDERED_SET_HXX +#define CM_UNORDERED_SET_HXX + +#include <cmConfigure.h> + +#if defined(CMake_HAVE_CXX_UNORDERED_SET) + +#include <unordered_set> +#define CM_UNORDERED_SET std::unordered_set + +#elif defined(CMAKE_BUILD_WITH_CMAKE) + +#include <cmsys/hash_set.hxx> +#define CM_UNORDERED_SET cmsys::hash_set + +#else + +#include <set> +#define CM_UNORDERED_SET std::set + +#endif + +#endif ----------------------------------------------------------------------- Summary of changes: Source/cmGeneratorTarget.cxx | 49 ++++++++++++++++------------------- Source/cmTarget.cxx | 13 ++-------- Source/cmTargetPropertyComputer.cxx | 13 ++-------- Source/cm_unordered_set.hxx | 25 ++++++++++++++++++ 4 files changed, 51 insertions(+), 49 deletions(-) create mode 100644 Source/cm_unordered_set.hxx hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits