1
/*=========================================================================
3
Program: CMake - Cross-Platform Makefile Generator
4
Module: $RCSfile: cmLocalVisualStudioGenerator.h,v $
6
Date: $Date: 2007-08-27 21:05:43 $
7
Version: $Revision: 1.8 $
9
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
10
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
12
This software is distributed WITHOUT ANY WARRANTY; without even
13
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14
PURPOSE. See the above copyright notices for more information.
16
=========================================================================*/
1
/*============================================================================
2
CMake - Cross Platform Makefile Generator
3
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
5
Distributed under the OSI-approved BSD License (the "License");
6
see accompanying file Copyright.txt for details.
8
This software is distributed WITHOUT ANY WARRANTY; without even the
9
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
See the License for more information.
11
============================================================================*/
17
12
#ifndef cmLocalVisualStudioGenerator_h
18
13
#define cmLocalVisualStudioGenerator_h
20
15
#include "cmLocalGenerator.h"
17
#include <cmsys/auto_ptr.hxx>
22
19
class cmSourceFile;
23
20
class cmSourceGroup;
34
31
cmLocalVisualStudioGenerator();
35
32
virtual ~cmLocalVisualStudioGenerator();
38
33
/** Construct a script from the given list of command lines. */
39
34
std::string ConstructScript(const cmCustomCommandLines& commandLines,
40
35
const char* workingDirectory,
43
38
bool escapeAllowMakeVars,
44
39
const char* newline = "\n");
43
/** Construct a custom command to make exe import lib dir. */
44
cmsys::auto_ptr<cmCustomCommand>
45
MaybeCreateImplibDir(cmTarget& target, const char* config);
46
47
// Safe object file name generation.
47
48
void ComputeObjectNameRequirements(std::vector<cmSourceGroup> const&);
48
49
bool SourceFileCompiles(const cmSourceFile* sf);
50
51
std::map<cmStdString, int>& count);
51
52
void InsertNeedObjectNames(const std::vector<cmSourceGroup>& groups,
52
53
std::map<cmStdString, int>& count);
54
54
std::set<const cmSourceFile*> NeedObjectName;
55
friend class cmVisualStudio10TargetGenerator;