Kaydet (Commit) b9c1eb5d authored tarafından Gian Domenico Ceccarini's avatar Gian Domenico Ceccarini Kaydeden (comit) jan iversen

solution ProjectIDE-vs2013: Generate.5: only 1 .vcxproj and .filter pr module

change for cicle to generate only one .vcxproj and .filter pr module

Change-Id: I93f2279e368e11ef5b9d442c6dcdfa4bf39bd6c2
Reviewed-on: https://gerrit.libreoffice.org/35075Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarjan iversen <jani@libreoffice.org>
üst f44deda8
...@@ -236,14 +236,11 @@ class testVS2013Ide(IdeIntegrationGenerator): ...@@ -236,14 +236,11 @@ class testVS2013Ide(IdeIntegrationGenerator):
projects = [] projects = []
module_directory = os.path.join(self.solution_directory, module) module_directory = os.path.join(self.solution_directory, module)
if module != 'include': # FIXME if module != 'include': # FIXME
project_path = os.path.join(module_directory, '%s.vcxproj' % module)
project_guid = self.twrite_project(project_path, module)
self.write_filters(project_path + '.filters', module, self.gbuildparser.modules[module]['headers'])
for target in self.gbuildparser.modules[module]['targets']: for target in self.gbuildparser.modules[module]['targets']:
p = self.Project(project_guid, target, project_path)
project_path = os.path.join(module_directory, '%s.vcxproj' % target['target_name'])
project_guid = self.twrite_project(project_path, target)
#self.twrite_project(project_path,target)
p = VisualStudioIntegrationGenerator.Project(project_guid, target, project_path)
self.write_filters(project_path + '.filters',target,self.gbuildparser.modules[module]['headers'])
projects.append(p) projects.append(p)
self.write_solution(os.path.join(module_directory, '%s.sln' % module), projects) self.write_solution(os.path.join(module_directory, '%s.sln' % module), projects)
all_projects += projects all_projects += projects
...@@ -418,7 +415,7 @@ class testVS2013Ide(IdeIntegrationGenerator): ...@@ -418,7 +415,7 @@ class testVS2013Ide(IdeIntegrationGenerator):
return project_guid return project_guid
def twrite_project(self, project_path, target): def twrite_project(self, project_path, module):
folder = os.path.dirname(project_path) folder = os.path.dirname(project_path)
if not os.path.exists(folder): if not os.path.exists(folder):
os.makedirs(folder) os.makedirs(folder)
...@@ -442,7 +439,7 @@ class testVS2013Ide(IdeIntegrationGenerator): ...@@ -442,7 +439,7 @@ class testVS2013Ide(IdeIntegrationGenerator):
proj_guid_node = ET.SubElement(globals_node, '{%s}ProjectGuid' % ns) proj_guid_node = ET.SubElement(globals_node, '{%s}ProjectGuid' % ns)
proj_guid_node.text = '{%s}' % project_guid proj_guid_node.text = '{%s}' % project_guid
proj_root_namespace=ET.SubElement(globals_node, '{%s}RootNamespace' % ns) proj_root_namespace=ET.SubElement(globals_node, '{%s}RootNamespace' % ns)
proj_root_namespace.text = target['target_name'] proj_root_namespace.text = module
ET.SubElement(proj_node, '{%s}Import' % ns, Project='$(VCTargetsPath)\Microsoft.Cpp.Default.props') ET.SubElement(proj_node, '{%s}Import' % ns, Project='$(VCTargetsPath)\Microsoft.Cpp.Default.props')
...@@ -475,10 +472,12 @@ class testVS2013Ide(IdeIntegrationGenerator): ...@@ -475,10 +472,12 @@ class testVS2013Ide(IdeIntegrationGenerator):
opt_node.text='Disabled' opt_node.text='Disabled'
sdl_check=ET.SubElement(cl_compile,'{%s}SDLCheck' % ns) sdl_check=ET.SubElement(cl_compile,'{%s}SDLCheck' % ns)
sdl_check.text='true' sdl_check.text='true'
add_incl_dir=ET.SubElement(cl_compile,'{%s}AdditionalIncludeDirectories' % ns) for target in self.gbuildparser.modules[module]['targets']:
add_incl_dir.text=self.get_include_dirs(target) add_incl_dir=ET.SubElement(cl_compile,'{%s}AdditionalIncludeDirectories' % ns)
add_incl_def_flag=ET.SubElement(cl_compile,'{%s}AdditionalOptions' % ns) add_incl_dir.text=self.get_include_dirs(target)
add_incl_def_flag.text=self.get_flags_defs(target) add_incl_def_flag=ET.SubElement(cl_compile,'{%s}AdditionalOptions' % ns)
add_incl_def_flag.text=self.get_flags_defs(target)
dgb_info_form=ET.SubElement(cl_compile,'{%s}DebugInformationFormat' % ns) dgb_info_form=ET.SubElement(cl_compile,'{%s}DebugInformationFormat' % ns)
dgb_info_form.text='ProgramDatabase' dgb_info_form.text='ProgramDatabase'
warn_as_error=ET.SubElement(cl_compile,'{%s}TreatWarningAsError' % ns) warn_as_error=ET.SubElement(cl_compile,'{%s}TreatWarningAsError' % ns)
...@@ -504,9 +503,10 @@ class testVS2013Ide(IdeIntegrationGenerator): ...@@ -504,9 +503,10 @@ class testVS2013Ide(IdeIntegrationGenerator):
#cxx files #cxx files
cxx_node=ET.SubElement(proj_node,'{%s}ItemGroup' % ns) cxx_node=ET.SubElement(proj_node,'{%s}ItemGroup' % ns)
for cxx_elem in target['CXXOBJECTS']: for target in self.gbuildparser.modules[module]['targets']:
modulename=target['module'] for cxx_elem in target['CXXOBJECTS']:
cxx_cl_node=ET.SubElement(cxx_node,'{%s}ClCompile' % ns,Include=os.path.join('../..', modulename, cxx_elem)) modulename=target['module']
cxx_cl_node=ET.SubElement(cxx_node,'{%s}ClCompile' % ns,Include=os.path.join('../..', modulename, cxx_elem))
#miss headers #miss headers
ET.SubElement(proj_node, '{%s}Import' % ns, Project='$(VCTargetsPath)\Microsoft.Cpp.targets') ET.SubElement(proj_node, '{%s}Import' % ns, Project='$(VCTargetsPath)\Microsoft.Cpp.targets')
ET.SubElement(proj_node, '{%s}ImportGroup' % ns, Label='ExtensionTargets') ET.SubElement(proj_node, '{%s}ImportGroup' % ns, Label='ExtensionTargets')
...@@ -541,7 +541,7 @@ class testVS2013Ide(IdeIntegrationGenerator): ...@@ -541,7 +541,7 @@ class testVS2013Ide(IdeIntegrationGenerator):
with open(file_path, 'w') as f: with open(file_path, 'w') as f:
f.write(pretty_str.decode()) f.write(pretty_str.decode())
def write_filters(self,filters_path,target,headers): def write_filters(self,filters_path,module,headers):
ns = 'http://schemas.microsoft.com/developer/msbuild/2003' ns = 'http://schemas.microsoft.com/developer/msbuild/2003'
ET.register_namespace('', ns) ET.register_namespace('', ns)
proj_node = ET.Element('{%s}Project' % ns, ToolsVersion='4.0') proj_node = ET.Element('{%s}Project' % ns, ToolsVersion='4.0')
...@@ -555,11 +555,12 @@ class testVS2013Ide(IdeIntegrationGenerator): ...@@ -555,11 +555,12 @@ class testVS2013Ide(IdeIntegrationGenerator):
filter_ext_node = ET.SubElement(filter_node,'{%s}Extensions' % ns) filter_ext_node = ET.SubElement(filter_node,'{%s}Extensions' % ns)
filter_ext_node.text = '{%s}' % filter_value filter_ext_node.text = '{%s}' % filter_value
sources_node=ET.SubElement(proj_node,'{%s}ItemGroup' % ns) sources_node=ET.SubElement(proj_node,'{%s}ItemGroup' % ns)
for cxxfile in target['CXXOBJECTS']: for target in self.gbuildparser.modules[module]['targets']:
cxx_file_name = cxxfile.split('/')[-1] for cxxfile in target['CXXOBJECTS']:
clinclude_node=ET.SubElement(sources_node,'{%s}ClInclude' % ns, Include='%s' % cxx_file_name) cxx_file_name = cxxfile.split('/')[-1]
header_filter=ET.SubElement(clinclude_node,'{%s}Filter' % ns) clinclude_node=ET.SubElement(sources_node,'{%s}ClInclude' % ns, Include='%s' % cxx_file_name)
header_filter.text="sources" header_filter=ET.SubElement(clinclude_node,'{%s}Filter' % ns)
header_filter.text="sources"
headers_node=ET.SubElement(proj_node,'{%s}ItemGroup' % ns) headers_node=ET.SubElement(proj_node,'{%s}ItemGroup' % ns)
for header in headers: for header in headers:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment