summaryrefslogtreecommitdiff
path: root/modules/VC8WorkspaceCreator.pm
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2014-06-30 12:34:00 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2014-06-30 12:34:00 +0000
commita9b200b18c2558e0689805bdb18b8623b02ffcbc (patch)
tree45a1cbf3269711dfed979c556039cb1c96aa4b1b /modules/VC8WorkspaceCreator.pm
parentcd00a66d16ad42f8beb5f6bf2c534b528d1acd98 (diff)
downloadMPC-a9b200b18c2558e0689805bdb18b8623b02ffcbc.tar.gz
ChangeLogTag: Mon Jun 30 12:28:49 UTC 2014 Chad Elliott <elliott_c@ociweb.com>
Diffstat (limited to 'modules/VC8WorkspaceCreator.pm')
-rw-r--r--modules/VC8WorkspaceCreator.pm22
1 files changed, 16 insertions, 6 deletions
diff --git a/modules/VC8WorkspaceCreator.pm b/modules/VC8WorkspaceCreator.pm
index f8404553..576b852f 100644
--- a/modules/VC8WorkspaceCreator.pm
+++ b/modules/VC8WorkspaceCreator.pm
@@ -130,12 +130,22 @@ sub post_workspace {
## unmanaged c++ libraries. If it's a managed project or
## it's not a c++ project, it's ok to add a reference.
elsif ($gmap{$dep}->[1]) {
- push(@read, $spc . '<ProjectReference Include="' .
- $relative . '">' . $crlf,
- $spc . ' <Project>{' . $gmap{$dep}->[0] .
- '}</Project>' . $crlf,
- $spc . ' <Name>' . $dep . '</Name>' . $crlf,
- $spc . '</ProjectReference>' . $crlf);
+ ## There are situations where, in C#, we want a dependency
+ ## between projects but not want them linked together (via a
+ ## ProjectReference). There is a build dependency, i.e.,
+ ## this project needs to be built if some other project is
+ ## built. But, that's where the dependency ends. Setting
+ ## the ProjectReference attribute to false allows us to do
+ ## that.
+ my $attr = $creator->get_dependency_attribute($dep);
+ if (!defined $attr || $attr !~ /ProjectReference=false/i) {
+ push(@read, $spc . '<ProjectReference Include="' .
+ $relative . '">' . $crlf,
+ $spc . ' <Project>{' . $gmap{$dep}->[0] .
+ '}</Project>' . $crlf,
+ $spc . ' <Name>' . $dep . '</Name>' . $crlf,
+ $spc . '</ProjectReference>' . $crlf);
+ }
}
## Indicate that we need to re-write the file