1
/*=========================================================================
3
Program: CMake - Cross-Platform Makefile Generator
4
Module: $RCSfile: cmGlobalVisualStudio71Generator.cxx,v $
6
Date: $Date: 2009-02-04 16:44:17 $
7
Version: $Revision: 1.48.2.3 $
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
#include "windows.h" // this must be first to define GetCurrentDirectory
18
13
#include "cmGlobalVisualStudio71Generator.h"
19
14
#include "cmLocalVisualStudio7Generator.h"
106
101
// Write out the header for a SLN file
107
102
this->WriteSLNHeader(fout);
109
// collect the set of targets for this project by
110
// tracing depends of all targets.
111
// also collect the set of targets that are explicitly
113
cmGlobalGenerator::TargetDependSet projectTargets;
114
cmGlobalGenerator::TargetDependSet originalTargets;
115
this->GetTargetSets(projectTargets,
104
// Collect all targets under this root generator and the transitive
105
// closure of their dependencies.
106
TargetDependSet projectTargets;
107
TargetDependSet originalTargets;
108
this->GetTargetSets(projectTargets, originalTargets, root, generators);
118
109
OrderedTargetDependSet orderedProjectTargets(projectTargets);
119
this->WriteTargetsToSolution(fout, root, orderedProjectTargets,
111
this->WriteTargetsToSolution(fout, root, orderedProjectTargets);
121
112
// Write out the configurations information for the solution
122
113
fout << "Global\n";
123
114
// Write out the configurations for the solution
250
246
::WriteExternalProject(std::ostream& fout,
251
247
const char* name,
252
248
const char* location,
253
const std::vector<std::string>& depends)
249
const std::set<cmStdString>& depends)
255
std::cout << "WriteExternalProject vs71\n";
256
251
fout << "Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \""
257
252
<< name << "\", \""
258
253
<< this->ConvertToSolutionPath(location) << "\", \"{"
264
259
if(!depends.empty())
266
261
fout << "\tProjectSection(ProjectDependencies) = postProject\n";
267
std::vector<std::string>::const_iterator it;
262
std::set<cmStdString>::const_iterator it;
268
263
for(it = depends.begin(); it != depends.end(); ++it)
270
265
if(it->size() > 0)