def write_project(self, target, fname): "Write a Project (.dsp)" if isinstance(target, gen_base.TargetExe): targtype = "Win32 (x86) Console Application" targval = "0x0103" elif isinstance(target, gen_base.TargetJava): targtype = "Win32 (x86) Generic Project" targval = "0x010a" elif isinstance(target, gen_base.TargetLib): if target.msvc_static: targtype = "Win32 (x86) Static Library" targval = "0x0104" else: targtype = "Win32 (x86) Dynamic-Link Library" targval = "0x0102" elif isinstance(target, gen_base.TargetProject): if target.cmd: targtype = "Win32 (x86) External Target" targval = "0x0106" else: targtype = "Win32 (x86) Generic Project" targval = "0x010a" else: raise gen_base.GenError("Cannot create project for %s" % target.name) target.output_name = self.get_output_name(target) target.output_dir = self.get_output_dir(target) target.intermediate_dir = self.get_intermediate_dir(target) target.output_pdb = self.get_output_pdb(target) configs = self.get_configs(target) sources = self.get_proj_sources(True, target) data = { 'target' : target, 'target_type' : targtype, 'target_number' : targval, 'rootpath' : self.rootpath, 'platforms' : self.platforms, 'configs' : configs, 'includes' : self.get_win_includes(target), 'sources' : sources, 'default_platform' : self.platforms[0], 'default_config' : configs[0].name, 'is_exe' : ezt.boolean(isinstance(target, gen_base.TargetExe)), 'is_external' : ezt.boolean((isinstance(target, gen_base.TargetProject) or isinstance(target, gen_base.TargetI18N)) and target.cmd), 'is_utility' : ezt.boolean(isinstance(target, gen_base.TargetProject)), 'is_dll' : ezt.boolean(isinstance(target, gen_base.TargetLib) and not target.msvc_static), 'instrument_apr_pools' : self.instrument_apr_pools, 'instrument_purify_quantify' : self.instrument_purify_quantify, } self.write_with_template(fname, 'msvc_dsp.ezt', data)
def write_project(self, target, fname, depends): "Write a Project (.vcproj/.vcxproj)" if isinstance(target, gen_base.TargetProject): config_type = 'Utility' target_type = 10 elif isinstance(target, gen_base.TargetExe): config_type = 'Application' target_type = 1 elif isinstance(target, gen_base.TargetJava): config_type = 'Utility' target_type = 10 elif isinstance(target, gen_base.TargetLib): if target.msvc_static: config_type = 'StaticLibrary' target_type = 4 else: config_type = 'DynamicLibrary' target_type = 2 elif isinstance(target, gen_base.TargetI18N): config_type = 'Makefile' target_type = 4 else: raise gen_base.GenError("Cannot create project for %s" % target.name) target.output_name = self.get_output_name(target) target.output_pdb = self.get_output_pdb(target) target.output_dir = self.get_output_dir(target) target.intermediate_dir = self.get_intermediate_dir(target) basename = os.path.basename(target.output_name) target.output_ext = basename[basename.rfind('.'):] target.output_name_without_ext = basename[:basename.rfind('.')] configs = self.get_configs(target) sources = self.get_proj_sources(False, target) if self.vcproj_extension == '.vcxproj': for src in sources: if src.custom_build is not None: src.custom_build = src.custom_build.replace( '$(InputPath)', '%(FullPath)') data = { 'target': target, 'target_type': target_type, 'project_guid': target.project_guid, 'rootpath': self.rootpath, 'platforms': self.platforms, 'config_type': config_type, 'configs': configs, 'sources': sources, 'default_platform': self.platforms[0], 'default_config': configs[0].name, 'def_file': self.get_def_file(target), 'depends': depends, 'is_exe': ezt.boolean(isinstance(target, gen_base.TargetExe)), 'is_external': ezt.boolean((isinstance(target, gen_base.TargetProject) or isinstance(target, gen_base.TargetI18N)) and target.cmd), 'is_utility': ezt.boolean(isinstance(target, gen_base.TargetProject)), 'instrument_apr_pools': self.instrument_apr_pools, 'instrument_purify_quantify': self.instrument_purify_quantify, 'version': self.vcproj_version, 'toolset_version': 'v' + self.vcproj_version.replace('.', ''), } if self.vcproj_extension == '.vcproj': self.write_with_template(fname, 'templates/vcnet_vcproj.ezt', data) else: self.write_with_template(fname, 'templates/vcnet_vcxproj.ezt', data) self.write_with_template(fname + '.filters', 'templates/vcnet_vcxproj_filters.ezt', data)
def write_project(self, target, fname): "Write a Project (.vcproj)" if isinstance(target, gen_base.TargetExe): #EXE config_type = 1 elif isinstance(target, gen_base.TargetJava): config_type = 1 elif isinstance(target, gen_base.TargetLib): if target.msvc_static: config_type = 4 else: config_type = 2 elif isinstance(target, gen_base.TargetProject): config_type = 1 elif isinstance(target, gen_base.TargetI18N): config_type = 4 else: raise gen_base.GenError("Cannot create project for %s" % target.name) target.output_name = self.get_output_name(target) target.output_pdb = self.get_output_pdb(target) target.output_dir = self.get_output_dir(target) target.intermediate_dir = self.get_intermediate_dir(target) configs = self.get_configs(target) sources = self.get_proj_sources(False, target) data = { 'target': target, 'target_type': config_type, # 'target_number' : targval, 'rootpath': self.rootpath, 'platforms': self.platforms, 'configs': configs, 'includes': self.get_win_includes(target), 'sources': sources, 'default_platform': self.platforms[0], 'default_config': configs[0].name, 'def_file': self.get_def_file(target), 'is_exe': ezt.boolean(isinstance(target, gen_base.TargetExe)), 'is_external': ezt.boolean((isinstance(target, gen_base.TargetProject) or isinstance(target, gen_base.TargetI18N)) and target.cmd), 'is_utility': ezt.boolean(isinstance(target, gen_base.TargetProject)), 'instrument_apr_pools': self.instrument_apr_pools, 'instrument_purify_quantify': self.instrument_purify_quantify, 'version': self.vsnet_proj_ver, } self.write_with_template(fname, 'vcnet_vcproj.ezt', data)