[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