Merge topic 'dev/target-fastpaths'

a9c9b66c cmTarget: use a hash_map for cmTargets typedef
bcb6dbc1 cmTarget: help the optimizer a bit
679f3dee cmTarget: use hash_set for sets of strings
23d6520d cmTarget: Allow caching of empty genex expansions
cd54f1db cmTarget: Only copy GenEx expansions when necessary
b75fc0e1 cmTarget: Don't set properties on custom targets
66076915 cmTarget: Use static strings for special property names
cebefa71 cmTarget: Sort special property checks
97ce676e cmTarget: Fast path for regular properties
4cfa918a cmTarget: Factor out common code
85242b7d cmTarget: Use else/if trees rather than an if tree
This commit is contained in:
Brad King 2014-07-18 11:00:29 -04:00 committed by CMake Topic Stage
commit 36a8184d40
2 changed files with 358 additions and 344 deletions

File diff suppressed because it is too large Load Diff

View File

@ -18,6 +18,9 @@
#include "cmListFileCache.h"
#include <cmsys/auto_ptr.hxx>
#if defined(CMAKE_BUILD_WITH_CMAKE)
#include <cmsys/hash_map.hxx>
#endif
#define CM_FOR_EACH_TARGET_POLICY(F) \
F(CMP0003) \
@ -844,7 +847,11 @@ private:
mutable bool LinkImplementationLanguageIsContextDependent;
};
#ifdef CMAKE_BUILD_WITH_CMAKE
typedef cmsys::hash_map<std::string,cmTarget> cmTargets;
#else
typedef std::map<std::string,cmTarget> cmTargets;
#endif
class cmTargetSet: public std::set<std::string> {};
class cmTargetManifest: public std::map<std::string, cmTargetSet> {};