diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2008-07-18 16:05:54 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2008-07-18 16:05:54 +0000 |
commit | 6fd3ad3f828f394c6f668cc6b43981a22e1f6317 (patch) | |
tree | 61c90e72b7bf915d9d80c8e5e1837abbbaaadb0d /modules/BCB2007WorkspaceCreator.pm | |
parent | 97fa1ff1e6cf30fa55cb9c32081ea3ef9055fbd2 (diff) | |
download | MPC-6fd3ad3f828f394c6f668cc6b43981a22e1f6317.tar.gz |
ChangeLogTag: Fri Jul 18 16:03:52 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
Diffstat (limited to 'modules/BCB2007WorkspaceCreator.pm')
-rw-r--r-- | modules/BCB2007WorkspaceCreator.pm | 122 |
1 files changed, 62 insertions, 60 deletions
diff --git a/modules/BCB2007WorkspaceCreator.pm b/modules/BCB2007WorkspaceCreator.pm index b6caae5f..28abe34a 100644 --- a/modules/BCB2007WorkspaceCreator.pm +++ b/modules/BCB2007WorkspaceCreator.pm @@ -24,29 +24,31 @@ use vars qw(@ISA); # ************************************************************ sub crlf { - #my($self) = shift; + #my $self = shift; return "\n"; } sub compare_output { - #my($self) = shift; + #my $self = shift; return 1; } sub workspace_file_extension { - #my($self) = shift; + #my $self = shift; return '.groupproj'; } sub pre_workspace { - my($self) = shift; - my($fh) = shift; - my($crlf) = $self->crlf(); + my($self, $fh) = @_; + my $crlf = $self->crlf(); + ## This identifies it as a Borland C++Builder 2007 file print $fh '<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">', $crlf; + + ## Optionally print the workspace comment # $self->print_workspace_comment($fh, # '<!-- $Id$ -->', $crlf, # '<!-- MPC Command -->', $crlf, @@ -56,65 +58,65 @@ sub pre_workspace { sub write_comps { - my($self) = shift; - my($fh) = shift; - my($crlf) = $self->crlf(); - my($project_info) = $self->get_project_info(); - - print $fh ' <PropertyGroup>', $crlf; - print $fh ' <ProjectGuid>{1946f85e-487f-46b6-8e41-159cd446db35}</ProjectGuid>', $crlf; - print $fh ' </PropertyGroup>', $crlf; - print $fh ' <ItemGroup />', $crlf; - print $fh ' <ItemGroup />', $crlf; - print $fh ' <ProjectExtensions>', $crlf; - print $fh ' <Borland.Personality>Default.Personality</Borland.Personality>', $crlf; - print $fh ' <Borland.ProjectType />', $crlf; - print $fh ' <BorlandProject>', $crlf; - print $fh ' <BorlandProject xmlns=""> <Default.Personality> </Default.Personality> </BorlandProject></BorlandProject>', $crlf; - print $fh ' </ProjectExtensions>', $crlf; - - foreach my $project ($self->sort_dependencies($self->get_projects(), 0)) { - my($name) = $$project_info{$project}->[0]; - print $fh ' <Target Name="', $name, '">', $crlf; - print $fh ' <MSBuild Projects="', $self->mpc_basename($project), '" Targets="" />', $crlf; - print $fh ' </Target>', $crlf; - print $fh ' <Target Name="', $name, ':Make">', $crlf; - print $fh ' <MSBuild Projects="', $self->mpc_basename($project), '" Targets="Make" />', $crlf; - print $fh ' </Target>', $crlf; - print $fh ' <Target Name="', $name, ':Clean">', $crlf; - print $fh ' <MSBuild Projects="', $self->mpc_basename($project), '" Targets="Clean" />', $crlf; - print $fh ' </Target>', $crlf; + my($self, $fh) = @_; + my $crlf = $self->crlf(); + my $project_info = $self->get_project_info(); + my @projects = $self->sort_dependencies($self->get_projects(), 0); + + ## Print GUID and personality information + print $fh ' <PropertyGroup>', $crlf, + ' <ProjectGuid>{1946f85e-487f-46b6-8e41-159cd446db35}</ProjectGuid>', $crlf, + ' </PropertyGroup>', $crlf, + ' <ItemGroup />', $crlf, + ' <ItemGroup />', $crlf, + ' <ProjectExtensions>', $crlf, + ' <Borland.Personality>Default.Personality</Borland.Personality>', $crlf, + ' <Borland.ProjectType />', $crlf, + ' <BorlandProject>', $crlf, + ' <BorlandProject xmlns=""> <Default.Personality> </Default.Personality> </BorlandProject></BorlandProject>', $crlf, + ' </ProjectExtensions>', $crlf; + + ## Print the project targets + foreach my $project (@projects) { + my $name = $$project_info{$project}->[0]; + print $fh ' <Target Name="', $name, '">', $crlf, + ' <MSBuild Projects="', $self->mpc_basename($project), '" Targets="" />', $crlf, + ' </Target>', $crlf, + ' <Target Name="', $name, ':Make">', $crlf, + ' <MSBuild Projects="', $self->mpc_basename($project), '" Targets="Make" />', $crlf, + ' </Target>', $crlf, + ' <Target Name="', $name, ':Clean">', $crlf, + ' <MSBuild Projects="', $self->mpc_basename($project), '" Targets="Clean" />', $crlf, + ' </Target>', $crlf; } - print $fh ' <Target Name="Build">', $crlf; - print $fh ' <CallTarget Targets="'; - foreach my $project ($self->sort_dependencies($self->get_projects(), 0)) { - my($name) = $$project_info{$project}->[0]; - print $fh $name, ';'; - } - print $fh '" />', $crlf; - print $fh ' </Target>', $crlf; - - print $fh ' <Target Name="Make">', $crlf; - print $fh ' <CallTarget Targets="'; - foreach my $project ($self->sort_dependencies($self->get_projects(), 0)) { - my($name) = $$project_info{$project}->[0]; - print $fh $name, ':Make;'; - } - print $fh '" />', $crlf; - print $fh ' </Target>', $crlf; - - print $fh ' <Target Name="Clean">', $crlf; - print $fh ' <CallTarget Targets="'; - foreach my $project ($self->sort_dependencies($self->get_projects(), 0)) { - my($name) = $$project_info{$project}->[0]; - print $fh $name, ':Clean;'; + ## Print the target build order + print $fh ' <Target Name="Build">', $crlf, + ' <CallTarget Targets="'; + foreach my $project (@projects) { + print $fh $$project_info{$project}->[0], ';'; } - print $fh '" />', $crlf; - print $fh ' </Target>', $crlf; + ## Print the target make order + print $fh '" />', $crlf, + ' </Target>', $crlf, + ' <Target Name="Make">', $crlf, + ' <CallTarget Targets="'; + foreach my $project (@projects) { + print $fh $$project_info{$project}->[0], ':Make;'; + } - print $fh '</Project>', $crlf; + ## Print the target clean order + print $fh '" />', $crlf, + ' </Target>', $crlf, + ' <Target Name="Clean">', $crlf, + ' <CallTarget Targets="'; + foreach my $project (@projects) { + print $fh $$project_info{$project}->[0], ':Clean;'; + } + print $fh '" />', $crlf, + ' </Target>', $crlf, + '</Project>', $crlf; } |