1 package IARWorkspaceCreator
;
3 # ************************************************************
4 # Description : The IAR Embedded Workbench IDE Workspace Creator
5 # Author : Chad Elliott
6 # Create Date : 4/18/2019
7 # ************************************************************
9 # ************************************************************
11 # ************************************************************
15 use IARProjectCreator
;
20 @ISA = qw(WinWorkspaceBase WorkspaceCreator);
22 # ************************************************************
24 # ************************************************************
33 sub workspace_file_extension
{
41 my $crlf = $self->crlf();
43 print $fh "<?xml version=\"1.0\" encoding=\"UTF-8\"?>$crlf",
50 my $crlf = $self->crlf();
52 print $fh ' <!-- ', $self->get_workspace_name(), ' - ',
53 $self->create_command_line_string($0, @ARGV),
55 foreach my $project ($self->sort_dependencies($self->get_projects(), 0)) {
56 ## Only emit the prefix if the path is relative. IAR requires it unless
57 ## the path is fully qualified.
58 print $fh " <project>$crlf",
60 print $fh '$WS_DIR$\\' if ($self->path_is_relative($project));
61 print $fh $self->slash_to_backslash($project), "</path>$crlf",
69 print $fh '</workspace>' . $self->crlf();
73 sub aggressive_relative_replacement
{