[mojosetup] CMake curses stuff [diff attached]
Gary Briggs
chunky at icculus.org
Mon Mar 1 17:43:07 EST 2010
On Mon, Mar 01, 2010 at 09:03:58PM +0100, Steffen Pankratz wrote:
>
> > # !!! FIXME: correct this to new policy and bump minimum cmake requirement.
>
> The only line in CMakeLists.txt which triggers this policy is:
>
> ADD_DEFINITIONS(-DAPPREV="${MOJOSETUP_VERSION}")
>
> I did some testing:
>
> old behavior
> -DAPPREV="hg-750:38f5bc09d1ee"
> mojosetup, revision hg-750:38f5bc09d1ee, built Mar 1 2010 20:34:11, by
> GCC 4.1.2
>
> new behavior
> -DAPPREV=\"hg-750:38f5bc09d1ee\
> mojosetup, revision "hg-750:38f5bc09d1ee", built Mar 1 2010 20:35:42,
> by GCC 4.1.2
>
> policy workaround removed, min cmake req set to 2.6 (new behavior is default in 2.6)
> -DAPPREV=\"hg-750:38f5bc09d1ee\"
> mojosetup, revision "hg-750:38f5bc09d1ee", built Mar 1 2010 20:29:10, by GCC 4.1.2
>
> policy workaround removed, and "" removed (ADD_DEFINITIONS(-DAPPREV=${MOJOSETUP_VERSION}))
> -DAPPREV=hg-750:38f5bc09d1ee
> mojosetup, revision hg-750:38f5bc09d1ee, built Mar 1 2010 20:37:25, by
> GCC 4.1.2
>
>
> So whats the big deal?
> Worth reading:
> http://www.vtk.org/Wiki/CMake_Policies#Fixing_an_Interface_Breaks_Work-Arounds
The problems is that forcing users to use a newer build tool than the
one in their system repository really sucks. Ubuntu still has a really
old version of 2.6 in 9.04; fink also has a really old version of 2.6
[or 2.4 if you use the binary version]. gamehenge has 2.6 installed :-)
There's a magical fix that works for all versions of cmake with all
generated build types, which is the extra config.h file. Thus, that's
the one I use for my own projects.
You are correct that in the ideal world, we'd set a version 2.8
requirement, and use the new standard. I don't feel that adds anything
over the config.h approach, but I do feel that it subtracts for
certain users [until 2.8 becomes the standard version in ubuntu, fink,
fedora, etc]
Gary (-;
More information about the mojosetup
mailing list