[MonoDevelop] Makefile and .desktop integration not working as expected.

Jensen Somers jensen.somers at gmail.com
Sat Aug 7 18:22:11 EDT 2010


I am using MonoDevelop 2.4, but experienced the same with git master.

After a lot of console applications and libraries I am in the process
of creating my real first GUI application which is meant to be used by
other people. Hence there are two things I need:
* A .desktop file to integrate with the user's desktop menu from where
he can start the application
* Makefile support so people can simply build and install the application.

Alright, it seems I can generate everything from within MonoDevelop. Nice!
However, there are a few things which are not working as I thought.
(Or as I expected them to be working.)

(1) When I simply create a new GTK# application, generate makefiles
and close MonoDevelop without compiling running make fails complaining
about a missing Build() function. It seems I have to run configure or
autogen first, then compile in MonoDevelop and then I am able to
compile using the make command. I believe this has something to do
with the generated GUI files which I thus have to ship with my
sources. Not really a problem, it seems the file is not always
regenerated. And when it's available calling make and make install
works as expected.

(2) When I enable the run option using the Options menu of the
makefile integration in MonoDevelop it's not added to the makefile and
make run doesn't work. A run option is nowhere to be found in any
makefile related file. Would be nice, but I can live without.

(3) When using make install the .desktop file is not copied anywhere.
And this is currently the major issue. When I loop at other
applications I can see a lot of tricks with custom tools to install a
.desktop file but if this means I can no longer let MonoDevelop
synchronize the makefiles with the solution file it's of no help to
me. I want my interaction with the makefiles as limited as possible.

Are these bugs, or is it by design and am I doing something wrong or
am I mean to do a lot of manual stuff? Or are there alternative ways
to distribute my application (either sources or binaries) which
another user can simply install and run. I just need a way for other
people to download the sources from git and install them, or have some
kind of build which they can simply install. (And with build I don't
mean RPM, DEB or other package types.)

- Jensen

More information about the Monodevelop-list mailing list