diff options
author | Brad King <brad.king@kitware.com> | 2006-07-11 15:41:38 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2006-07-11 15:41:38 (GMT) |
commit | 9bf5af6e32570195b06df594c1cb07f8c7a6a83e (patch) | |
tree | ad72b8722793ae974c26b9b2138547f3cab62aae /Source/cmLocalVisualStudioGenerator.h | |
parent | c05b8fb993a4e92fded0d735a66063bb8b265630 (diff) | |
download | CMake-9bf5af6e32570195b06df594c1cb07f8c7a6a83e.zip CMake-9bf5af6e32570195b06df594c1cb07f8c7a6a83e.tar.gz CMake-9bf5af6e32570195b06df594c1cb07f8c7a6a83e.tar.bz2 |
ENH: Moved unique object file name computation from cmLocalUnixMakefileGenerator3 up to cmLocalGenerator for use by all generators. Created cmLocalVisualStudioGenerator as superclass for all VS generators. Implemented on-demand unique object file name computation for VS 7 generator to avoid slow compiles when all sources are in subdirectories.
Diffstat (limited to 'Source/cmLocalVisualStudioGenerator.h')
-rw-r--r-- | Source/cmLocalVisualStudioGenerator.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Source/cmLocalVisualStudioGenerator.h b/Source/cmLocalVisualStudioGenerator.h new file mode 100644 index 0000000..6fe0034 --- /dev/null +++ b/Source/cmLocalVisualStudioGenerator.h @@ -0,0 +1,43 @@ +/*========================================================================= + + Program: CMake - Cross-Platform Makefile Generator + Module: $RCSfile$ + Language: C++ + Date: $Date$ + Version: $Revision$ + + Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. + See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ +#ifndef cmLocalVisualStudioGenerator_h +#define cmLocalVisualStudioGenerator_h + +#include "cmLocalGenerator.h" + +class cmSourceFile; +class cmSourceGroup; + +/** \class cmLocalVisualStudioGenerator + * \brief Base class for Visual Studio generators. + * + * cmLocalVisualStudioGenerator provides functionality common to all + * Visual Studio generators. + */ +class cmLocalVisualStudioGenerator : public cmLocalGenerator +{ +public: + cmLocalVisualStudioGenerator(); + virtual ~cmLocalVisualStudioGenerator(); + +protected: + // Safe object file name generation. + void ComputeObjectNameRequirements(std::vector<cmSourceGroup> const&); + std::set<const cmSourceFile*> NeedObjectName; +}; + +#endif |