| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /*============================================================================
- CMake - Cross Platform Makefile Generator
- Copyright 2014 Kitware, Inc., Insight Software Consortium
- Distributed under the OSI-approved BSD License (the "License");
- see accompanying file Copyright.txt for details.
- This software is distributed WITHOUT ANY WARRANTY; without even the
- implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the License for more information.
- ============================================================================*/
- #ifndef cmInstalledFile_h
- #define cmInstalledFile_h
- #include "cmGeneratorExpression.h"
- /** \class cmInstalledFile
- * \brief Represents a file intended for installation.
- *
- * cmInstalledFile represents a file intended for installation.
- */
- class cmInstalledFile
- {
- public:
- typedef cmsys::auto_ptr<cmCompiledGeneratorExpression>
- CompiledGeneratorExpressionPtrType;
- typedef std::vector<cmCompiledGeneratorExpression*>
- ExpressionVectorType;
- struct Property
- {
- Property()
- {
- }
- ~Property()
- {
- for(ExpressionVectorType::iterator i = ValueExpressions.begin();
- i != ValueExpressions.end(); ++i)
- {
- delete *i;
- }
- }
- ExpressionVectorType ValueExpressions;
- };
- typedef std::map<std::string, Property> PropertyMapType;
- cmInstalledFile();
- ~cmInstalledFile();
- void RemoveProperty(const std::string& prop);
- void SetProperty(cmMakefile const* mf,
- const std::string& prop, const char *value);
- void AppendProperty(cmMakefile const* mf,
- const std::string& prop, const char* value,bool asString=false);
- bool GetProperty(const std::string& prop, std::string& value) const;
- bool GetPropertyAsBool(const std::string& prop) const;
- void SetName(cmMakefile* mf, const std::string& name);
- std::string const& GetName() const;
- cmCompiledGeneratorExpression const& GetNameExpression() const;
- PropertyMapType const& GetProperties() const { return this->Properties; }
- private:
- std::string Name;
- cmCompiledGeneratorExpression* NameExpression;
- PropertyMapType Properties;
- };
- #endif
|