Problem to build and link SDL 2 with project using CMake

Since you are using Ubuntu, why don’t you stick to configure and make???

However, it seems that something is wrong indeed with cmake, I’ve had issues in the past as well, and couldn’t get over them------------------------
C is the God’s Programming Language

No, you don’t have to write the Makefile.

Aren’t you familiar with “configure”?

It generates the Makefile for you and then all you have to do is
make ; make install------------------------
C is the God’s Programming Language

Well, cmake might be a little better, but I haven’t seen much of a difference.

Also, make works great, and it’s the standard.

But, if you want to build just one file, then sdl2-config is your friend ;)------------------------
C is the God’s Programming Language

You’re sounding a little confused. CMake is more a replacement for GNU
Autotools (automake, autoconf, libtool etc.); it takes a script
(CMakeLists.txt) with the dependencies and targets, and spits out makefiles
which are interpreted by the build tool (e.g. GNU make).

There’s quite a few differences; the main one is that scripts for Autotools
need to be written in M4, a macro language from the late 70s which only
still exists because Autotools uses it. M4 itself is about as intelligent
as a lump hammer, and almost as fun as being smacked in the testicles with.
It’s best described as shorthand for copy-pasting snippets together to form
something indecipherable to humans, which you’ll later have to debug while
sober.

While CMake isn’t perfect by any means, it’s a hell of a lot more sane than
Autotools. It has a very nice bundled library of scripts and dependency
lookup routines, or can fall back to pulling info from pkg-config.
Configuring is tremendously faster than autotools, as it cuts out nearly
all of the pointless “checking that 1+1 == 2” compilation tests at the
start, and does an okay job at caching. It can generate makefiles for tools
other than GNU make. If there’s an error in the script, you have a fighting
chance of figuring it out.

Hell it even -looks- nicer; when you run make it gives you a nice coloured
progress readout for each file, instead of the wall of text sent as
arguments to g++. Very useful for separating out compile warnings.

SDL’s CMake scripts are pretty good, the only downside is that they’ve only
been around for 3 months and still need some TLC. Have a look inside the
configure script one day and say with a straight face that it looks nicer
than the equivalent CMakeLists.txt.On 2 March 2013 16:31, neoaggelos wrote:

**
Well, cmake might be a little better, but I haven’t seen much of a
difference.

Also, make works great, and it’s the standard.

But, if you want to build just one file, then sdl2-config is your friend [image:
Wink]


C is the God’s Programming Language


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Feel free to give it TLC!

Once it has 100% support for existing autotool and Visual Studio project
features I would be willing to switch to it.

That includes libtool soname compatibility, cygwin/mingw32 support, system
feature support, copying test files and SDL.dll for the Visual Studio test
projects, supporting the linker optimizations on VC++, etc.

Cheers!On Sat, Mar 2, 2013 at 4:08 PM, Scott Percival wrote:

You’re sounding a little confused. CMake is more a replacement for GNU
Autotools (automake, autoconf, libtool etc.); it takes a script
(CMakeLists.txt) with the dependencies and targets, and spits out makefiles
which are interpreted by the build tool (e.g. GNU make).

There’s quite a few differences; the main one is that scripts for
Autotools need to be written in M4, a macro language from the late 70s
which only still exists because Autotools uses it. M4 itself is about as
intelligent as a lump hammer, and almost as fun as being smacked in the
testicles with. It’s best described as shorthand for copy-pasting snippets
together to form something indecipherable to humans, which you’ll later
have to debug while sober.

While CMake isn’t perfect by any means, it’s a hell of a lot more sane
than Autotools. It has a very nice bundled library of scripts and
dependency lookup routines, or can fall back to pulling info from
pkg-config. Configuring is tremendously faster than autotools, as it cuts
out nearly all of the pointless “checking that 1+1 == 2” compilation tests
at the start, and does an okay job at caching. It can generate makefiles
for tools other than GNU make. If there’s an error in the script, you have
a fighting chance of figuring it out.

Hell it even -looks- nicer; when you run make it gives you a nice coloured
progress readout for each file, instead of the wall of text sent as
arguments to g++. Very useful for separating out compile warnings.

SDL’s CMake scripts are pretty good, the only downside is that they’ve
only been around for 3 months and still need some TLC. Have a look inside
the configure script one day and say with a straight face that it looks
nicer than the equivalent CMakeLists.txt.

On 2 March 2013 16:31, neoaggelos wrote:

**
Well, cmake might be a little better, but I haven’t seen much of a
difference.

Also, make works great, and it’s the standard.

But, if you want to build just one file, then sdl2-config is your friend [image:
Wink]


C is the God’s Programming Language


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Actually on that subject, a while back I threw up a tiny patch to fix some
deadlocks caused by pthread support being only half-detected on Ubuntu -
http://bugzilla.libsdl.org/show_bug.cgi?id=1709 , any chance this could be
reviewed? Thanks!On 3 March 2013 09:04, Sam Lantinga wrote:

Feel free to give it TLC!

Once it has 100% support for existing autotool and Visual Studio project
features I would be willing to switch to it.

That includes libtool soname compatibility, cygwin/mingw32 support, system
feature support, copying test files and SDL.dll for the Visual Studio test
projects, supporting the linker optimizations on VC++, etc.

Cheers!

On Sat, Mar 2, 2013 at 4:08 PM, Scott Percival <@Scott_Percival>wrote:

You’re sounding a little confused. CMake is more a replacement for GNU
Autotools (automake, autoconf, libtool etc.); it takes a script
(CMakeLists.txt) with the dependencies and targets, and spits out makefiles
which are interpreted by the build tool (e.g. GNU make).

There’s quite a few differences; the main one is that scripts for
Autotools need to be written in M4, a macro language from the late 70s
which only still exists because Autotools uses it. M4 itself is about as
intelligent as a lump hammer, and almost as fun as being smacked in the
testicles with. It’s best described as shorthand for copy-pasting snippets
together to form something indecipherable to humans, which you’ll later
have to debug while sober.

While CMake isn’t perfect by any means, it’s a hell of a lot more sane
than Autotools. It has a very nice bundled library of scripts and
dependency lookup routines, or can fall back to pulling info from
pkg-config. Configuring is tremendously faster than autotools, as it cuts
out nearly all of the pointless “checking that 1+1 == 2” compilation tests
at the start, and does an okay job at caching. It can generate makefiles
for tools other than GNU make. If there’s an error in the script, you have
a fighting chance of figuring it out.

Hell it even -looks- nicer; when you run make it gives you a nice
coloured progress readout for each file, instead of the wall of text sent
as arguments to g++. Very useful for separating out compile warnings.

SDL’s CMake scripts are pretty good, the only downside is that they’ve
only been around for 3 months and still need some TLC. Have a look inside
the configure script one day and say with a straight face that it looks
nicer than the equivalent CMakeLists.txt.

On 2 March 2013 16:31, neoaggelos wrote:

**
Well, cmake might be a little better, but I haven’t seen much of a
difference.

Also, make works great, and it’s the standard.

But, if you want to build just one file, then sdl2-config is your friend [image:
Wink]


C is the God’s Programming Language


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org