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

Andoni Morales ylatuya at gmail.com
Wed Mar 25 21:25:16 CET 2009


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
>
>>
>> Windows is so horrible when a project is big and has a lot of
>> dependencies. (as a lot of projects are).
>> Every software on windows comes with their own glib/qt/png/etc...
>> dlls. It's just like anarchy.
>> MSYS thought to be the solution of this but still unix mind in this.
>> Windows just need a packaging tool ( like apt) and "depo" servers. And
>> because it's on windows, this tool would be GUI only .
>> We could start a such project.
>> Anyway it's an other subject.
>>
>> CMake power !
>>
>> gl & hf
>>
>> Julien
>>
>>
>>
>>         Andoni
>>
>>         ------------------------------------------------------------------------------
>>         _______________________________________________
>>         gstreamer-devel mailing list
>>         gstreamer-devel at lists.sourceforge.net
>>         https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>




More information about the gstreamer-devel mailing list