After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 675480 - Provide CMake build files
Provide CMake build files
Status: RESOLVED WONTFIX
Product: GStreamer
Classification: Platform
Component: common
0.11.x
Other Windows
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-05-04 22:39 UTC by Gili
Modified: 2013-01-24 22:42 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Gili 2012-05-04 22:39:12 UTC
Please consider shipping CMake build files as part of the official distribution.

Benefits:

1. Developers will only have to keep one build file in sync (as opposed to having to update Unix makefiles and Visual Studio 6, 7, 8 project files separately).

2. Users can use the compiler of their choice. For example, under Windows they can use any version of Visual Studio (6 through 11) or even Makefiles if they so choose.

3. CMake supports every platform/compiler imaginable. See http://www.cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators for a partial list (the documentation is missing XCode and Kdeveloper3 but they are supported).

I'm not claiming CMake is a silver bullet. It has its flaws. The scripting language is annoying at times and there are corner cases for features supported by one compiler but not another, but there are workarounds for these issues. In my experience, CMake delivers far more benefit than pain. Please investigate for yourself.

PS: I found some well-maintained CMake build files at http://code.google.com/p/gstreamer-cmake/ (licensed under LGPL no less). I'm not familiar with the author but this is a great place to start.

I also found a related discussion here: http://gstreamer-devel.966125.n4.nabble.com/GSoC-proposal-Improving-GStreamer-on-Windows-and-Mac-td971564.html
Comment 1 Tim-Philipp Müller 2012-05-04 22:50:02 UTC
I'm not particularly interested in or keen on this. Anyone else?
Comment 2 Josh Doe 2012-05-05 20:56:01 UTC
I generally like the idea of CMake, and use it for our internal plugins, and it's pretty trivial to setup CMake up with the core gstreamer library, however especially on Windows the difficulty arises with building and pulling in plugin dependencies. ossbuild is a slow-going/stalled effort to especially solve this dependency issue.

Historically Linux has been the platform most of the core developers focus on, with only a handful caring for Mac and even less for Windows, and autotools seems to work quite well for Linux. Also keep in mind that the majority of GStreamer developers are employees of Collabora (and to a lesser extent Fluendo), and those two companies are working on a GStreamer SDK, which aims to make building on all three major platforms much easier, hopefully for plugin dependencies as well. I imagine once the SDK is released Real Soon Now it will be "the" solution considering who's backing it.
Comment 3 Gili 2012-05-06 03:38:41 UTC
Let me tell you something about build systems that pull in dependencies: Maven. Let's just say I'm not a fan :) I understand the need but I don't foresee anyone doing this right in the near future.

Also, I don't think anyone has a firm idea of when GStreamer SDK will come out. I love developers, but Real Soon Now can easily turn into months away ;)

The Google Code project I pointed to contains ready-made CMake files. It should be trivial to import them into the official repository. If and when Collabora/Fluendo put out a superior system we can always migrate. In the meantime we'll have something that's easy to use and has been proven to work.
Comment 4 Olivier Crête 2013-01-24 22:42:43 UTC
I don't see this reasonably happening in the forseable future.. See the GStreamer SDK at gstreamer.com for windows/mac/android builds.