ddobrev / QtSharp

Mono/.NET bindings for Qt
Other
571 stars 52 forks source link

Restructured the repository #25

Closed golddranks closed 9 years ago

golddranks commented 9 years ago

Hi, I wonder if this change could be pulled in. It isn't a functional change per se (well it does make some things more robust: if the OutputDir option is set to different path than the default this far was, it used to break, especially with the compiled inlines. I should be more flexible now.), but I think it improves the project structure.

Changes:

golddranks commented 9 years ago

If this is too "hard-coded", I can of course change the wrapper project to contain all the generated wrappers, not just QtCore...

golddranks commented 9 years ago

...plus actually the suffix .Gen is used for "Generator" in CppSharp, not for "Generated". Maybe I could take this one back and refine it further. However the at least the changes making OutputDir work when configured for other than default conf would be nice to pull in, do you agree?

tritao commented 9 years ago

I'd just call the projects with the wrappers QtCore, QtGui etc. For me, the .Gen suffix implies a generator project. The other changes look good to me and are a good improvement over the current situation.

golddranks commented 9 years ago

Allright, I think it's better now: The output directories are set to be the same than the module names: "QtCore", "QtGui" etc., and they are in their subdirs under "Wrappers" directory. Btw. QtGui generation crashes, and the crash is fixed in the CppSharp master, but I didn't pull the newest DLLs in yet, since they introduce a new regression to QtCore.

tritao commented 9 years ago

Damnit, we really need a CI system testing C++# commits against Qt#. Having to constantly fix regressions after the fact is a huge waste of time for everyone involved.

golddranks commented 9 years ago

@tritao Not actually, I've noticed the

varying strangely before, too. I have no idea what causes them. But having the generated sources in Git too is beneficial for noticing these kinds of patterns.

The regression I was talking about is that using the newest C++#, QtCore doesn't compile because it doesn't have type QMap.Const_iterator. I'm think it didn't have that type even before this, so that might not be the actual problem.