diff options
author | Brad King <brad.king@kitware.com> | 2009-01-22 18:18:40 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-01-22 18:18:40 (GMT) |
commit | c332e0bf3c4e619358322bd0d0961af45653eb5b (patch) | |
tree | 3e31da4052687557169b0e8da2cf897f42cbcb63 /Source/cmFindPackageCommand.h | |
parent | 3028ca756c8621b3cc37032987eb01fbe61da248 (diff) | |
download | CMake-c332e0bf3c4e619358322bd0d0961af45653eb5b.zip CMake-c332e0bf3c4e619358322bd0d0961af45653eb5b.tar.gz CMake-c332e0bf3c4e619358322bd0d0961af45653eb5b.tar.bz2 |
ENH: Isolate policy changes in included scripts
Isolation of policy changes inside scripts is important for protecting
the including context. This teaches include() and find_package() to
imply a cmake_policy(PUSH) and cmake_policy(POP) around the scripts they
load, with a NO_POLICY_SCOPE option to disable the behavior. This also
creates CMake Policy CMP0011 to provide compatibility. See issue #8192.
Diffstat (limited to 'Source/cmFindPackageCommand.h')
-rw-r--r-- | Source/cmFindPackageCommand.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/cmFindPackageCommand.h b/Source/cmFindPackageCommand.h index 3fc8f65..faeb04d 100644 --- a/Source/cmFindPackageCommand.h +++ b/Source/cmFindPackageCommand.h @@ -82,7 +82,8 @@ private: bool FindPrefixedConfig(); bool FindFrameworkConfig(); bool FindAppBundleConfig(); - bool ReadListFile(const char* f); + enum PolicyScopeRule { NoPolicyScope, DoPolicyScope }; + bool ReadListFile(const char* f, PolicyScopeRule psr); void StoreVersionFound(); void ComputePrefixes(); @@ -132,6 +133,7 @@ private: bool NoBuilds; bool DebugMode; bool UseLib64Paths; + bool PolicyScope; std::vector<std::string> Names; std::vector<std::string> Configs; }; |