summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudioGenerator.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-07-11 15:41:38 (GMT)
committerBrad King <brad.king@kitware.com>2006-07-11 15:41:38 (GMT)
commit9bf5af6e32570195b06df594c1cb07f8c7a6a83e (patch)
treead72b8722793ae974c26b9b2138547f3cab62aae /Source/cmLocalVisualStudioGenerator.h
parentc05b8fb993a4e92fded0d735a66063bb8b265630 (diff)
downloadCMake-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.h43
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