[SDL] CMake gurus...

Jonathan Dearborn grimfang4 at gmail.com
Sun Mar 24 13:15:08 PDT 2013


I'm pretty comfortable now since CMake can generate a Makefile project for
Code::Blocks.  I don't use Visual Studio or command-line tools on Windows,
so CMake is the reason I'm able to easily build SDL2 and port my games to
it.  Personally, CMake has been a tremendous improvement over autotools.
 The CMake GUI could use a lot of work, but otherwise I think it's great.
 I feel like it's worth trying to add support for relative paths if that's
the only really troublesome issue.

Tim, I thought CMake did notice changes to CMakeLists.txt.  My generated
Makefiles do, at any rate.  They re-run CMake to regenerate themselves when
necessary.

Jonny D


On Sun, Mar 24, 2013 at 3:07 PM, OKUMURA Yuki <mjt at cltn.org> wrote:

> 2013/3/25 Sam Lantinga <slouken at libsdl.org>:
> > So at this point I don't see what cmake is buying us.
> >
> > Pros:
> > * ?
>
> - Flexibility
> CMake supports Ninja( http://martine.github.com/ninja/ ); an awesome
> buildtool which provides acceptable build performance on Win32.
> I personally feel its Ninja support is just enough reason to implement
> CMakeLists.txt...
>
> CMake allows working with 'tip' of SDL and my own set of compiler
> configuration.
> Pre-generated MSVC/XCode project files do not allow this.
>
> - Modularity
> CMake allows embedding another project into user's own project.
> If the SDL app project driven with CMake, just "add_subdirectory(
> PATH_TO_SDL_SRC sdl)" would allow to build SDL itself side-by-side.
> It is useful for me because I can squeeze executable with link time
> optimization.
>
> Every other choices(Autotools, MSVC, XCode and Android *.mk) also
> allow such build configuration, but this one is portable.
>
> > Cons:
> > * Additional build dependency on all platforms
> > * Not as well supported in debian build environment
>
> These are true, but there are several CMake only projects(e.g. KDE,
> OpenCV, Eigen).
> Several projects supports both(e.g. BulletPhysics, LLVM) with custom
> integration script.
>
> > * Not as easy to change configuration parameters
>
> It should be as easy as autotools build;
> e.g.) To change optimization level to Release:
>   "cmake -DCMAKE_BUILD_TYPE=Release ."
>
> They doesn't provide eqv. of "./configure --help" but they have
> cmake-gui or ccmake.
>
> > * Can't pre-generate Visual Studio projects for end users
> > * Can't pre-generate Xcode projects for end users
>
> I agree these are biggest problem on CMake, it seems CMake was not
> designed for such use-case.
> Gyp( http://code.google.com/p/gyp/ ) has better solution here for example.
>
> -- oku
> _______________________________________________
> SDL mailing list
> SDL at lists.libsdl.org
> http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20130324/e5928329/attachment-0009.htm>


More information about the SDL mailing list