[gst-devel] GSoC proposal: Improving GStreamer on Windows and Mac

Ali Sabil ali.sabil at gmail.com
Thu Mar 26 11:06:28 CET 2009


On Wed, Mar 25, 2009 at 9:48 PM, Stefan Kost <ensonic at hora-obscura.de> wrote:
> Andoni Morales schrieb:
>> 2009/3/25 Edward Hervey <bilboed at gmail.com>:
>>> On Wed, 2009-03-25 at 17:55 +0100, Julien Isorce wrote:
>>>> Hi,
>>>>
>>>> 2009/3/25 Andoni Morales <ylatuya at gmail.com>
>>>>         >> please add a link to codeblocks.
>>>>         >
>>>>         > The Code::Blocks home page is: http://www.codeblocks.org/
>>>>         > Julien Isorce is also using this IDE for gst-plugins-gl
>>>>         >
>>>>
>>>>          I forgot to mention that Code::Blocks can also be used to
>>>>         compile
>>>>         GStreamer in Mac OS X and to cross-compile GStreamer in Linux
>>>>
>>>> I like codeblocks but the best choice is to use CMake.
>>>> ( http://www.cmake.org/ )
>>>> It's the most easiest, usable, viable, extensible etc... build system
>>>> known.
>>>> Qt and KDE are using it now.
>>>> CMake can generate codeblocks projects and more.
>>>>
>>>> CMake is cross platform. It can generate those things:
>>>>
>>>> Unix Makefiles  = Generates standard UNIX makefiles.
>>>> CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
>>>> Eclipse CDT4 - Unix Makefiles = Generates Eclipse CDT 4.0 project
>>>> files.
>>>> KDevelop3 = Generates KDevelop 3 project files.
>>>> KDevelop3 - Unix Makefiles  = Generates KDevelop 3 project files.
>>>> Borland Makefiles  = Generates Borland makefiles.
>>>> MSYS Makefiles   = Generates MSYS makefiles.
>>>> MinGW Makefiles  = Generates a make file for use with mingw32-make.
>>>> NMake Makefiles   = Generates NMake makefiles.
>>>> Unix Makefiles  = Generates standard UNIX makefiles.
>>>> Visual Studio 6  = Generates Visual Studio 6 project files.
>>>> Visual Studio 7   = Generates Visual Studio .NET 2002 project files.
>>>> Visual Studio 7 .NET 2003 = Generates Visual Studio .NET 2003
>>>> projectfiles.
>>>> Visual Studio 8 2005  = Generates Visual Studio .NET 2005 project
>>>> files.
>>>> Visual Studio 8 2005 Win64  = Generates Visual Studio .NET 2005 Win64
>>>> project files.
>>>> Visual Studio 9 2008  = Generates Visual Studio 9 2008 project files.
>>>> Visual Studio 9 2008 Win64  = Generates Visual Studio 9 2008 Win64
>>>> project files.
>>>> Watcom WMake = Generates Watcom WMake makefiles.
>>>> CodeBlocks - MinGW Makefiles= Generates CodeBlocks project files.
>>>> CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
>>>> Eclipse CDT4 - MinGW Makefiles = Generates Eclipse CDT 4.0 project
>>>> files.
>>>> Eclipse CDT4 - NMake Makefiles = Generates Eclipse CDT 4.0 project
>>>> files.
>>>> Eclipse CDT4 - Unix Makefiles = Generates Eclipse CDT 4.0 project
>>>> files.
>>>>
>>>> CMake can also generate XCode projects, and "darwin makefiles" but I
>>>> have no Mac machine to copy/past the output of cmake --help.
>>>>
>>>> I am also using it in gst-plugins-gl. So I can help.
>>>>
>>>> Moreover, CMake can generate installers
>>>  Some questions that come to mind:
>>>  * How easy is it to teach it new build systems (S60 and Android come
>>> to mind here). That includes Makfile, auto-generated files, etc... If it
>>> can... this would ease the portability work of GStreamer (and plugins) a
>>> *LOT*.
>>>  * What are the compile-time dependencies ? How easy/hard would it be
>>> to use it in a cross-compile setup ? Can it run in esoteric setups ? If
>>> we can gain new systems but lose old systems (on which auto* works
>>> perfectly well due to only requiring a shell) it's gonna be a definite
>>> blocker.
>>
>> As far as i know,  CMake is similar to Autotools, in the sense that
>> you just need it to process the configuration files. Then you can
>> choose between creating standard makefiles if you want to use it in a
>> shell environment, or creating Visual Studio projects if you want to
>> use an IDE.
>>
>>>  CMake looks *very* tempting (he who has read the libtool code with
>>> love throws the first stone), but we need to make sure we're not losing
>>> anything if we switch.
>>>
>>>    Edward
>>>
>
> If the CMake people would only have picked a decent syntax for the CMakelist.txt
> files ....
>
There are other problems with CMake (besides the syntax), you can find
them here: http://www.bakefile.org/wiki/ComparisonsWithOtherTools

--
Ali




More information about the gstreamer-devel mailing list