summaryrefslogtreecommitdiffstats
path: root/Source/cmake.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-04-04 19:20:12 (GMT)
committerBrad King <brad.king@kitware.com>2015-04-13 15:44:14 (GMT)
commita6b1ad1309d14668e572da7937a2a8dda9e1f669 (patch)
tree4c1c5a63d339975c0006347823ee6a9e7ab355b9 /Source/cmake.h
parentba404938a202b51bb82bff8692ed08e53b061ad4 (diff)
downloadCMake-a6b1ad1309d14668e572da7937a2a8dda9e1f669.zip
CMake-a6b1ad1309d14668e572da7937a2a8dda9e1f669.tar.gz
CMake-a6b1ad1309d14668e572da7937a2a8dda9e1f669.tar.bz2
Introduce cmState class.
At this point, it is an interface to the cache. It will be extended to be a universal interface for access to and manipulation of configuration-time data (defintions, properties on targets, directories, source files etc). This will allow porting all command implementations away from the cmMakefile and cmTarget classes, and result in something more-purely related to configuration-time processing of cmake commands. That should serve at least the following goals: * Split the CMake implementation more definitively into three stages: Configuration, computation and generation, and be able to implement each optimally for memory access patterns etc. * Make better IDE integration possible by making more configuration data available. * Make it possiblte to use a smaller library than CMakeLib.a in cpack and ctest, resulting in smaller executables. * Make it possible to run the configure step multiple times in the same CMake run (#14539). Manage its lifetime in the cmake class, and add a convenience accessor to cmMakefile.
Diffstat (limited to 'Source/cmake.h')
-rw-r--r--Source/cmake.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/cmake.h b/Source/cmake.h
index 3acf4a8..0b24ed6 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -32,6 +32,7 @@ class cmDocumentationSection;
class cmPolicies;
class cmTarget;
class cmGeneratedFileStream;
+class cmState;
/** \brief Represents a cmake invocation.
*
@@ -387,6 +388,9 @@ class cmake
void UnwatchUnusedCli(const std::string& var);
void WatchUnusedCli(const std::string& var);
+
+ cmState* GetState() const { return this->State; }
+
protected:
void RunCheckForUnusedVariables();
void InitializeProperties();
@@ -475,6 +479,8 @@ private:
std::vector<std::string> DebugConfigs;
InstalledFilesMap InstalledFiles;
+ cmState* State;
+
void UpdateConversionPathTable();
};