Project template and deployment fixes for Linux #523

Merged
merged 4 commits into from Jun 15, 2012

Conversation

Projects
None yet
2 participants
@directhex
Contributor

directhex commented Jun 15, 2012

These commits ensure that if a Linux user installs MonoDevelop.MonoGame and creates a new project, hitting compile then run will work:

  • Provide a pkg-config package file, for MonoDevelop to use in reference resolution
  • Provide a hack so assemblies are copied to output folder on compilation
  • Drop redundant references to old closed source gamepad bridge

directhex added some commits Jun 13, 2012

Create a pkg-config file for MonoGame.
This assumes, that, for example, if the pkg-config prefix used is
/usr/lib/pkgconfig then the MonoGame assemblies are installed to
/usr/lib/monogame.

This pkg-config file places a requirement on OpenTK and Tao.SDL packages
to be provided by the distribution.

The net result is that "mcs -pkg:monogame mygame.cs" will build against
MonoGame.
Remove obsolete calls to closed-source gamepad bridge in template.
The template tries to place requirements on the closed-source
gamepad bridge no longer shipped with MonoGame. Remove it to prevent
build failures.
Work around "Copy Local" bug in MonoDevelop
As detailed in MonoDevelop bug 4030, assembly references which resolve via
pkg-config packages and are non-GAC are never copied locally to the assembly
output folder, which means the app will not run if it relies upon one of
these unstable libraries (MonoMac also suffers from this)

Copy-paste a workaround from the MonoMac source code where any libraries
resolved from monogame.pc should be forcefully copied to the output folder
of the build, for all MonoGame project types.
Fix assembly reference in template to drop unneeded ".dll" extension
MonoDevelop's assembly reference resolver doesn't work if you have "Gac"
references with file extensions. Drop the .dll, and MonoDevelop will find
Tao from a suitable location such as the GAC or a pkg-config package.

dellis1972 added a commit that referenced this pull request Jun 15, 2012

Merge pull request #523 from directhex/develop
Project template and deployment fixes for Linux

@dellis1972 dellis1972 merged commit a7c987f into MonoGame:develop Jun 15, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment