diff options
Diffstat (limited to 'bin/MakeProjectCreator/modules/ProjectCreator.pm')
-rw-r--r-- | bin/MakeProjectCreator/modules/ProjectCreator.pm | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/bin/MakeProjectCreator/modules/ProjectCreator.pm b/bin/MakeProjectCreator/modules/ProjectCreator.pm index 6e278d2565b..93691707805 100644 --- a/bin/MakeProjectCreator/modules/ProjectCreator.pm +++ b/bin/MakeProjectCreator/modules/ProjectCreator.pm @@ -149,11 +149,13 @@ sub new { my($exclude) = shift; my($makeco) = shift; my($nmod) = shift; + my($applypj) = shift; my($self) = Creator::new($class, $global, $inc, $template, $ti, $dynamic, $static, $relative, $addtemp, $addproj, $progress, $toplevel, $baseprojs, - $feature, $hierarchy, $nmod, 'project'); + $feature, $hierarchy, $nmod, $applypj, + 'project'); $self->{$self->{'type_check'}} = 0; $self->{'feature_defined'} = 0; @@ -375,7 +377,7 @@ sub parse_line { my($def) = $self->get_default_project_name(); $name = $self->fill_type_name($name, $def); - $self->process_assignment('project_name', $name); + $self->set_project_name($name); } } $self->{$typecheck} = 1; @@ -1672,8 +1674,7 @@ sub generate_defaults { ## Generate default project name if (!defined $self->get_assignment('project_name')) { - $self->process_assignment('project_name', - $self->get_default_project_name()); + $self->set_project_name($self->get_default_project_name()); } ## Generate the default pch file names (if needed) @@ -1733,6 +1734,23 @@ sub generate_defaults { } +sub set_project_name { + my($self) = shift; + my($name) = shift; + + if ($self->get_apply_project()) { + my($nmod) = $self->get_name_modifier(); + + if (defined $nmod) { + $nmod =~ s/\*/$name/g; + $name = $nmod; + } + } + + $self->process_assignment('project_name', $name); +} + + sub project_name { my($self) = shift; return $self->get_assignment('project_name'); @@ -2403,7 +2421,7 @@ sub get_modified_project_file_name { my($ext) = shift; my($nmod) = $self->get_name_modifier(); - if (defined $nmod) { + if (defined $nmod && !$self->get_apply_project()) { $nmod =~ s/\*/$name/g; $name = $nmod; } |