summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-05-19 15:30:21 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2015-05-19 15:30:21 (GMT)
commit594dd9b36a7f3ac37b56c89596ff38451570de3e (patch)
tree8950a435b89378220a624f8cf42e3883a05ff2ec /Source/cmMakefile.h
parent25d22be514436d8dfbcac0024b952bd059eeabc6 (diff)
parentd7923b82ade9f84d0fc4c6d44b9719f2f7c0e9af (diff)
downloadCMake-594dd9b36a7f3ac37b56c89596ff38451570de3e.zip
CMake-594dd9b36a7f3ac37b56c89596ff38451570de3e.tar.gz
CMake-594dd9b36a7f3ac37b56c89596ff38451570de3e.tar.bz2
Merge topic 'use-std-unordered_map'
d7923b82 Use std::unordered_map instead of hash_map where available. 820777af Tests: Don't rely on ordering of targets in maps. 921d74d8 AutoGen: Don't iterate over a container while populating it.
Diffstat (limited to 'Source/cmMakefile.h')
-rw-r--r--Source/cmMakefile.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index bfd6155..82f2715 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -31,7 +31,11 @@
#include <cmsys/auto_ptr.hxx>
#include <cmsys/RegularExpression.hxx>
#if defined(CMAKE_BUILD_WITH_CMAKE)
-# include <cmsys/hash_map.hxx>
+# ifdef CMake_HAVE_CXX11_UNORDERED_MAP
+# include <unordered_map>
+# else
+# include <cmsys/hash_map.hxx>
+# endif
#endif
#include <stack>
@@ -848,7 +852,11 @@ protected:
// libraries, classes, and executables
mutable cmTargets Targets;
#if defined(CMAKE_BUILD_WITH_CMAKE)
+#ifdef CMake_HAVE_CXX11_UNORDERED_MAP
+ typedef std::unordered_map<std::string, cmTarget*> TargetMap;
+#else
typedef cmsys::hash_map<std::string, cmTarget*> TargetMap;
+#endif
#else
typedef std::map<std::string, cmTarget*> TargetMap;
#endif
@@ -1021,7 +1029,11 @@ private:
// A map for fast output to input look up.
#if defined(CMAKE_BUILD_WITH_CMAKE)
+#ifdef CMake_HAVE_CXX11_UNORDERED_MAP
+ typedef std::unordered_map<std::string, cmSourceFile*> OutputToSourceMap;
+#else
typedef cmsys::hash_map<std::string, cmSourceFile*> OutputToSourceMap;
+#endif
#else
typedef std::map<std::string, cmSourceFile*> OutputToSourceMap;
#endif