Closed mokou closed 9 years ago
This has gone on long enough by now, and I don't want to give into this pressure any longer.
I've been trying to move this project to compile on MinGW using either CMake or qmake so that we can move away from Visual Studio completely and develop and debug the entire project from within Qt Creator. Naturally, qmake would have been the preferred choice since it comes with every Qt bundle for Windows, and win32_utf8 actually did build nicely with it.
However, since all of our dependencies use CMake, wouldn't it be great if we could just generate a superproject and it just builds without requiring any changes to the existing submodules? Well, as it turns out, libpng requires a compiled zlib at, uh, CMake time, not at libpng compile time. To find the path, libpng's CMakeLists.txt
does
find_package(ZLIB REQUIRED)
which ends up pulling a random zlib1.dll
from my system, then tries to link that statically (yes) into the compiled libpng16.dll
, which of course fails. Manually specifying ZLIB_ROOT
or setting CMAKE_INCLUDE_PATH
and CMAKE_LIBRARY_PATH
in CMakeLists.txt
? Didn't do a thing.
The CMake integration into Qt Creator is not exactly the best either. Leaving aside the fact that you have to install CMake separately, you don't automatically get Debug and Release build configurations as with qmake, unless you manually create a new build tree and remember to manually mumble the magic -DCMAKE_BUILD_TYPE=Release
incantation.
Also, is this some kind of a joke?
At that point, I'm beginning to wonder why we should even change to a build system that is less understood within the active development team to begin with, only to effectively replace our perfectly working build with some auto-generated vomit. Let's look at the arguments brought forth by the CMake proponents:
moc
in the future!
Therefore, I'm closing this for now. This has sucked out enough time, productivity and momentum. If you still believe that either CMake or qmake would be a sensible choice for this project, go ahead, create a working build, and send a pull request, but I'm not going to waste any more time on this, and neither should anyone else.
Would it be worth revisiting cmake? Things seem to have changed (at least a little bit) over the last 4 years.
As for the developing on *nix point, the most I can say at this point is that since winedbg exists, I'd guess that it's possible, but I don't have the experience at the moment to be able to say "yes i'd be able to do that."
fwiw I'm willing to work on porting the build system to cmake (by) myself -- I just want to make sure that it's not going to be rejected out of hand.
So I'm not totally against the idea, but I'm not a fan of it.
Let's see, in order:
In short, I'll dig into my notes and try some things.
Sorry, this ended up at the bottom of my list, but I went to look it up again because of another project:
https://github.com/roozbehid/dotnet-vcxproj lets you build with GCC using msbuild/the dotnet cmdline tool on linux and other platforms, assuming that the rest of the codebase supports it.
That could work, I'll give it a try eventually
I had issues with the thing i tried it with that I didn't know how to fix (it wasn't passing GCC any include directories, and it wasn't acknowledging that I was trying to compile a shared library) so I fell back to a quick Makefile. I suppose I should leave some issues on the repo, now that I'm not banging my head against the wall at 2AM.
Step 1 for supporting alternative compilers.