2 * Copyright (C) 2005 Trevor McCort
3 * Copyright (C) 2005 Casper S. Hornstrup
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 #include "../backend.h"
35 class MSVCBackend
: public Backend
39 MSVCBackend(Project
&project
,
40 Configuration
& configuration
);
41 virtual ~MSVCBackend() {}
43 virtual void Process();
47 void ProcessModules();
48 void ProcessFile(std::string
&filename
);
50 bool CheckFolderAdded(std::string
&folder
);
51 void AddFolders(std::string
&folder
);
54 void OutputFileUnits();
56 std::string
DspFileName ( const Module
& module
) const;
57 std::string
VcprojFileName ( const Module
& module
) const;
59 std::vector
<FileUnit
> m_fileUnits
;
60 std::vector
<std::string
> m_folders
;
68 // functions in msvcmaker.cpp:
70 void _generate_dsp ( const Module
& module
);
71 void _generate_dsw_header ( FILE* OUT
);
72 void _generate_dsw_project (
76 const std::vector
<Dependency
*>& dependencies
);
78 void _generate_dsw_footer ( FILE* OUT
);
79 void _generate_wine_dsw ( FILE* OUT
);
81 // functions in vcprojmaker.cpp:
83 std::string
_get_solution_verion ( void );
84 std::string
_gen_guid();
85 std::string
_replace_str(
87 const std::string
&find_str
,
88 const std::string
&replace_str
);
90 void _generate_vcproj ( const Module
& module
);
92 void _generate_sln_header ( FILE* OUT
);
93 void _generate_sln_footer ( FILE* OUT
);
94 void _generate_sln ( FILE* OUT
);
95 void _generate_rules_file ( FILE* OUT
);
96 void _generate_sln_project (
99 std::string vcproj_file
,
100 std::string sln_guid
,
101 std::string vcproj_guid
,
102 const std::vector
<Dependency
*>& dependencies
);
103 void _generate_sln_configurations (
105 std::string vcproj_guid
);