summaryrefslogtreecommitdiff
path: root/modules/BCB2007WorkspaceCreator.pm
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2008-07-18 16:05:54 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2008-07-18 16:05:54 +0000
commit6fd3ad3f828f394c6f668cc6b43981a22e1f6317 (patch)
tree61c90e72b7bf915d9d80c8e5e1837abbbaaadb0d /modules/BCB2007WorkspaceCreator.pm
parent97fa1ff1e6cf30fa55cb9c32081ea3ef9055fbd2 (diff)
downloadMPC-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.pm122
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;
}