2025-07-02 07:44 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000940Spring engineGeneralpublic2008-05-25 15:04
Reportersombriks 
Assigned ToAuswaschbar 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusresolvedResolutionfixed 
Product Version 
Target VersionFixed in Version0.76b1+svn 
Summary0000940: add CMake as another build option
DescriptionScons is an unusual build system and even doing a good work its hits me in the brain every time that i try to understand the overall build process.

Long time ago one said something about move to CMake, and these days i've read some papers about that build option... and it seems good to work!

it's able to generate from a single CMakeLists.txt a good buildscript and also solve dependencies using a good subset of ready to use macros (the .cmake files) while create your own macros are a easy task.

If any other are inclined to try something on this way, please tell me, i would like some explanations about build process in order to try to write some .cmake files and enable some sugar in order to create CMakeLists.txt using FIND_PACKAGE macros.
Additional Informationsome links, to support my wish, ;)

http://www.google.com.br/search?q=cmake+tutorial&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
http://www.cmake.org/Wiki/CMake_HowToFindInstalledSoftware

a more critic link showing what cmake can and what cmake can't do:
http://www.remlab.net/op/cmake.shtml

TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files
  • patch file icon build_with_cmake.patch (7,659 bytes) 2008-05-19 12:10 -
    Index: rts/lib/CMakeLists.txt
    ===================================================================
    --- rts/lib/CMakeLists.txt	(Revision 0)
    +++ rts/lib/CMakeLists.txt	(Revision 0)
    @@ -0,0 +1,27 @@
    +INCLUDE_DIRECTORIES(streflop lua/include luabind)
    +
    +AUX_SOURCE_DIRECTORY(lua/src lualibfiles)
    +ADD_LIBRARY(lua STATIC ${lualibfiles})
    +
    +AUX_SOURCE_DIRECTORY(luabind/src luabindfiles)
    +ADD_LIBRARY(luabind STATIC ${luabindfiles})
    +
    +AUX_SOURCE_DIRECTORY(7zip 7zipfiles)
    +ADD_LIBRARY(7zip STATIC ${7zipfiles})
    +
    +AUX_SOURCE_DIRECTORY(hpiutil2 hpifiles)
    +ADD_LIBRARY(hpiutil2 STATIC ${hpifiles})
    +
    +IF (NOT MINGW)
    +	ADD_LIBRARY(minizip STATIC  minizip/unzip minizip/zip minizip/ioapi)
    +ELSE (NOT MINGW)
    +	ADD_LIBRARY(minizip STATIC  minizip/unzip minizip/zip minizip/iowin32 minizip/ioapi)
    +ENDIF (NOT MINGW)
    +TARGET_LINK_LIBRARIES(minizip z)
    +
    +### streflop has its own Makefile, but $(RM) seems to be rm even on windows, so overwrite it with windows "del"
    +IF (CMAKE_HOST_WIN32)
    +	SET(RM_OVERRIDE RM=del)
    +ENDIF(CMAKE_HOST_WIN32)
    +
    +ADD_CUSTOM_TARGET(strefloplib COMMAND make STREFLOP_X87=1 CXX=${CMAKE_C_COMPILER} ${RM_OVERRIDE} AR=${CMAKE_AR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/streflop)
    \ No newline at end of file
    Index: rts/lib/streflop/Makefile
    ===================================================================
    --- rts/lib/streflop/Makefile	(Revision 5915)
    +++ rts/lib/streflop/Makefile	(Arbeitskopie)
    @@ -52,8 +52,8 @@
     	i586-mingw32msvc-ar rs streflop.a $(LIBM_OBJECTS) SMath.o Random.o ${USE_SOFT_BINARY}
     	i586-mingw32msvc-ar rs libstreflop.a $(LIBM_OBJECTS) SMath.o Random.o ${USE_SOFT_BINARY}
     else
    -	ar rs streflop.a $(LIBM_OBJECTS) SMath.o Random.o ${USE_SOFT_BINARY}
    -	ar rs libstreflop.a $(LIBM_OBJECTS) SMath.o Random.o ${USE_SOFT_BINARY}
    +	$(AR) rs streflop.a $(LIBM_OBJECTS) SMath.o Random.o ${USE_SOFT_BINARY}
    +	$(AR) rs libstreflop.a $(LIBM_OBJECTS) SMath.o Random.o ${USE_SOFT_BINARY}
     endif
     
     arithmeticTest$(EXE_SUFFIX): arithmeticTest.cpp streflop.a
    Index: rts/CMakeLists.txt
    ===================================================================
    --- rts/CMakeLists.txt	(Revision 0)
    +++ rts/CMakeLists.txt	(Revision 0)
    @@ -0,0 +1,145 @@
    +PROJECT(Spring)
    +
    +### Cmake 2.4 lacks some cross-compiling features and fails on windows
    +cmake_minimum_required(VERSION 2.5)
    +
    +### Compiler flags and defines based on build type
    +SET(BASE_FLAGS "-fsingle-precision-constant -frounding-math -fsignaling-nans -mieee-fp -mfpmath=387 -pipe -fno-strict-aliasing")
    +IF (UNIX)
    +	SET(BASE_FLAGS "${BASE_FLAGS} -pthread")
    +ENDIF (UNIX)
    +SET(CMAKE_CXX_FLAGS_DEBUG1  "${BASE_FLAGS} -ggdb1 -O1 -Wall -DDEBUG -D_DEBUG")
    +SET(CMAKE_CXX_FLAGS_DEBUG2  "${BASE_FLAGS} -ggdb2 -O0 -Wall -DDEBUG -D_DEBUG")
    +SET(CMAKE_CXX_FLAGS_DEBUG3  "${BASE_FLAGS} -ggdb3 -O0 -Wall -DDEBUG -D_DEBUG")
    +SET(CMAKE_CXX_FLAGS_RELEASE "${BASE_FLAGS} -O2 -march=i686 -DNDEBUG")
    +IF (UNIX)
    +	### mingw gcc 3.4*  doesn't know this flag
    +	SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fvisibility=hidden")
    +ENDIF (UNIX)
    +
    +### Spring defines
    +ADD_DEFINITIONS( -D_SZ_ONE_DIRECTORY -DSYNCCHECK -DSTREFLOP_X87 -DDIRECT_CONTROL_ALLOWED)
    +IF (UNIX)
    +	ADD_DEFINITIONS(-DNO_AVI)
    +ELSE(UNIX)
    +ENDIF(UNIX)
    +
    +### Let the user specify where he has his mingwlibs
    +IF (UNIX)
    +OPTION(MINGW "If MinGW is used for building" FALSE)
    +ELSE (UNIX)
    +OPTION(MINGW "If MinGW is used for building" TRUE)
    +ENDIF (UNIX)
    +
    +### Find include directories
    +LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib/streflop)
    +IF (MINGW)
    +	SET(MINGWLIBS ./mingwlibs CACHE PATH "Location of the mingwlibs")
    +	### add mingwlibs to link- and include-directories
    +	INCLUDE_DIRECTORIES(${MINGWLIBS}/include ${MINGWLIBS}/include/SDL)
    +	LINK_DIRECTORIES(${MINGWLIBS}/lib ${MINGWLIBS}/dll)
    +ELSE (MINGW)
    +	FIND_PACKAGE(SDL REQUIRED)
    +	INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
    +
    +	FIND_PACKAGE(Boost REQUIRED)
    +	INCLUDE_DIRECTORIES(${BOOST_INCLUDE_DIR})
    +
    +	FIND_PACKAGE(X11 REQUIRED)
    +	FIND_PACKAGE(OpenAL REQUIRED)
    +	FIND_PACKAGE(OpenGL REQUIRED)
    +	FIND_PACKAGE(GLU REQUIRED)
    +	FIND_PACKAGE(GLUT REQUIRED)
    +	
    +	FIND_PATH(freetypedir freetype
    +	PATHS
    +	/usr/local/include/freetype2
    +	/usr/include/freetype2
    +	/sw/include/freetype2
    +	/opt/local/include/freetype2
    +	/opt/csw/include/freetype2
    +	/opt/include/freetype2
    +	NO_DEFAULT_PATH)
    +	INCLUDE_DIRECTORIES(${freetypedir})
    +ENDIF (MINGW)
    +
    +# build all libraries in lib (has its own CMakeLists.txt)
    +ADD_SUBDIRECTORY(lib)
    +
    +### include directories needed for compiling spring
    +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} System)
    +INCLUDE_DIRECTORIES(lib/lua/include lib/luabind)
    +
    +### all spring source directories
    +### each directorie which contains source has to be here
    +AUX_SOURCE_DIRECTORY(Game gamefiles)
    +AUX_SOURCE_DIRECTORY(Game/Camera gamefiles)
    +AUX_SOURCE_DIRECTORY(Game/Server gamefiles)
    +AUX_SOURCE_DIRECTORY(Game/StartScripts gamefiles)
    +AUX_SOURCE_DIRECTORY(Game/UI gamefiles)
    +
    +AUX_SOURCE_DIRECTORY(Lua luafiles)
    +
    +AUX_SOURCE_DIRECTORY(ExternalAI aifiles)
    +AUX_SOURCE_DIRECTORY(ExternalAI/GlobalAIInterfaces aifiles)
    +AUX_SOURCE_DIRECTORY(ExternalAI/GlobalAICInterface aifiles)
    +
    +AUX_SOURCE_DIRECTORY(Map mapfiles)
    +AUX_SOURCE_DIRECTORY(Map/SM3 mapfiles)
    +AUX_SOURCE_DIRECTORY(Map/SM3/terrain mapfiles)
    +AUX_SOURCE_DIRECTORY(Map/SMF mapfiles)
    +
    +AUX_SOURCE_DIRECTORY(Rendering renderfiles)
    +AUX_SOURCE_DIRECTORY(Rendering/Env renderfiles)
    +AUX_SOURCE_DIRECTORY(Rendering/GL renderfiles)
    +AUX_SOURCE_DIRECTORY(Rendering/Textures renderfiles)
    +AUX_SOURCE_DIRECTORY(Rendering/UnitModels renderfiles)
    +
    +AUX_SOURCE_DIRECTORY(Sim simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/Features simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/Misc simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/MoveTypes simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/MoveTypes/MoveMath simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/Objects simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/Path simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/Projectiles simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/Projectiles/WeaponProjectiles simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/Projectiles/Unsynced simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/Units simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/Units/COB simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/Units/CommandAI simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/Units/UnitTypes simfiles)
    +AUX_SOURCE_DIRECTORY(Sim/Weapons simfiles)
    +
    +AUX_SOURCE_DIRECTORY(System sysfiles)
    +AUX_SOURCE_DIRECTORY(System/Platform sysfiles)
    +### only use the directory for target platform
    +IF (UNIX)
    +AUX_SOURCE_DIRECTORY(System/Platform/Linux platformfiles)
    +ELSE (UNIX)
    +AUX_SOURCE_DIRECTORY(System/Platform/Win platformfiles)
    +ENDIF (UNIX)
    +AUX_SOURCE_DIRECTORY(System/FileSystem sysfiles)
    +AUX_SOURCE_DIRECTORY(System/Net sysfiles)
    +AUX_SOURCE_DIRECTORY(System/Script sysfiles)
    +AUX_SOURCE_DIRECTORY(System/Sync sysfiles)
    +AUX_SOURCE_DIRECTORY(System/creg sysfiles)
    +
    +ADD_EXECUTABLE(spring  ${gamefiles} ${luafiles} ${mapfiles} ${fsfiles} ${renderfiles} ${simfiles} ${sysfiles} ${platformbase} ${platformfiles} ${aifiles})
    +
    +### libraries in lib/
    +SET(spring_libraries lua 7zip hpiutil2 minizip streflop luabind)
    +
    +### libraries needed on all platforms
    +LIST(APPEND spring_libraries SDL boost_thread-mt boost_regex-mt vorbisfile vorbis ogg freetype)
    +
    +### platform specific libraries
    +IF (UNIX)
    +	LIST(APPEND spring_libraries openal GL GLU GLEW IL ILU X11 Xcursor)
    +ELSE (UNIX)
    +	LIST(APPEND spring_libraries glew32 glu32 ilu opengl32 wsock32 mingw32 winmm devil dsound ws2_32 ole32 imagehlp)
    +ENDIF (UNIX)
    +
    +TARGET_LINK_LIBRARIES(spring ${spring_libraries})
    +ADD_DEPENDENCIES(spring strefloplib)
    +
    
    patch file icon build_with_cmake.patch (7,659 bytes) 2008-05-19 12:10 +
  • patch file icon build_with_cmake_tobi.patch (57,234 bytes) 2008-05-24 22:40 -
    Index: rts/build/cmake/Toolchains/MinGW.cmake
    ===================================================================
    --- rts/build/cmake/Toolchains/MinGW.cmake	(revision 0)
    +++ rts/build/cmake/Toolchains/MinGW.cmake	(revision 0)
    @@ -0,0 +1,16 @@
    +# the name of the target operating system
    +SET(CMAKE_SYSTEM_NAME Windows)
    +
    +# which compilers to use for C and C++
    +SET(CMAKE_C_COMPILER i586-mingw32msvc-gcc)
    +SET(CMAKE_CXX_COMPILER i586-mingw32msvc-g++)
    +
    +# here is the target environment located
    +SET(CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc ${CMAKE_SOURCE_DIR}/../mingwlibs)
    +
    +# adjust the default behaviour of the FIND_XXX() commands:
    +# search headers and libraries in the target environment, search 
    +# programs in the host environment
    +SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
    +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
    +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
    Index: rts/build/cmake/Modules/FindOggVorbis.cmake
    ===================================================================
    --- rts/build/cmake/Modules/FindOggVorbis.cmake	(revision 0)
    +++ rts/build/cmake/Modules/FindOggVorbis.cmake	(revision 0)
    @@ -0,0 +1,94 @@
    +# Downloaded from: http://websvn.kde.org/trunk/KDE/kdelibs/cmake/modules/
    +# License: see the accompanying COPYING-CMAKE-SCRIPTS file
    +#
    +# Modifications:
    +# 2008.01.16 Tobi Vollebregt -- Moved ${OGG_LIBRARY} to the back of OGGVORBIS_LIBRARIES,
    +#                               this allows vorbis to link to ogg on MinGW.
    +#                            -- Moved ${VORBIS_LIBRARY} just before OGGVORBIS_LIBRARIES,
    +#                               this allows vorbis{file,enc} to link to vorbis on MinGW.
    +
    +# - Try to find the OggVorbis libraries
    +# Once done this will define
    +#
    +#  OGGVORBIS_FOUND - system has OggVorbis
    +#  OGGVORBIS_VERSION - set either to 1 or 2
    +#  OGGVORBIS_INCLUDE_DIR - the OggVorbis include directory
    +#  OGGVORBIS_LIBRARIES - The libraries needed to use OggVorbis
    +#  OGG_LIBRARY         - The Ogg library
    +#  VORBIS_LIBRARY      - The Vorbis library
    +#  VORBISFILE_LIBRARY  - The VorbisFile library
    +#  VORBISENC_LIBRARY   - The VorbisEnc library
    +
    +# Copyright (c) 2006, Richard Laerkaeng, <richard@goteborg.utfors.se>
    +#
    +# Redistribution and use is allowed according to the terms of the BSD license.
    +# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
    +
    +
    +include (CheckLibraryExists)
    +
    +find_path(VORBIS_INCLUDE_DIR vorbis/vorbisfile.h)
    +find_path(OGG_INCLUDE_DIR ogg/ogg.h)
    +
    +find_library(OGG_LIBRARY NAMES ogg)
    +find_library(VORBIS_LIBRARY NAMES vorbis)
    +find_library(VORBISFILE_LIBRARY NAMES vorbisfile)
    +find_library(VORBISENC_LIBRARY NAMES vorbisenc)
    +
    +
    +if (VORBIS_INCLUDE_DIR AND VORBIS_LIBRARY AND VORBISFILE_LIBRARY AND VORBISENC_LIBRARY)
    +   set(OGGVORBIS_FOUND TRUE)
    +
    +   set(OGGVORBIS_LIBRARIES ${VORBISFILE_LIBRARY} ${VORBISENC_LIBRARY} ${VORBIS_LIBRARY} ${OGG_LIBRARY})
    +
    +   set(_CMAKE_REQUIRED_LIBRARIES_TMP ${CMAKE_REQUIRED_LIBRARIES})
    +   set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${OGGVORBIS_LIBRARIES})
    +   check_library_exists(vorbis vorbis_bitrate_addblock "" HAVE_LIBVORBISENC2)
    +   set(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_TMP})
    +
    +   if (HAVE_LIBVORBISENC2)
    +      set (OGGVORBIS_VERSION 2)
    +   else (HAVE_LIBVORBISENC2)
    +      set (OGGVORBIS_VERSION 1)
    +   endif (HAVE_LIBVORBISENC2)
    +
    +else (VORBIS_INCLUDE_DIR AND VORBIS_LIBRARY AND VORBISFILE_LIBRARY AND VORBISENC_LIBRARY)
    +   set (OGGVORBIS_VERSION)
    +   set(OGGVORBIS_FOUND FALSE)
    +endif (VORBIS_INCLUDE_DIR AND VORBIS_LIBRARY AND VORBISFILE_LIBRARY AND VORBISENC_LIBRARY)
    +
    +
    +if (OGGVORBIS_FOUND)
    +   if (NOT OggVorbis_FIND_QUIETLY)
    +      message(STATUS "Found OggVorbis: ${OGGVORBIS_LIBRARIES}")
    +   endif (NOT OggVorbis_FIND_QUIETLY)
    +else (OGGVORBIS_FOUND)
    +   if (OggVorbis_FIND_REQUIRED)
    +      message(FATAL_ERROR "Could NOT find OggVorbis libraries")
    +   endif (OggVorbis_FIND_REQUIRED)
    +   if (NOT OggVorbis_FIND_QUITELY)
    +      message(STATUS "Could NOT find OggVorbis libraries")
    +   endif (NOT OggVorbis_FIND_QUITELY)
    +endif (OGGVORBIS_FOUND)
    +
    +#check_include_files(vorbis/vorbisfile.h HAVE_VORBISFILE_H)
    +#check_library_exists(ogg ogg_page_version "" HAVE_LIBOGG)
    +#check_library_exists(vorbis vorbis_info_init "" HAVE_LIBVORBIS)
    +#check_library_exists(vorbisfile ov_open "" HAVE_LIBVORBISFILE)
    +#check_library_exists(vorbisenc vorbis_info_clear "" HAVE_LIBVORBISENC)
    +#check_library_exists(vorbis vorbis_bitrate_addblock "" HAVE_LIBVORBISENC2)
    +
    +#if (HAVE_LIBOGG AND HAVE_VORBISFILE_H AND HAVE_LIBVORBIS AND HAVE_LIBVORBISFILE AND HAVE_LIBVORBISENC)
    +#    message(STATUS "Ogg/Vorbis found")
    +#    set (VORBIS_LIBS "-lvorbis -logg")
    +#    set (VORBISFILE_LIBS "-lvorbisfile")
    +#    set (VORBISENC_LIBS "-lvorbisenc")
    +#    set (OGGVORBIS_FOUND TRUE)
    +#    if (HAVE_LIBVORBISENC2)
    +#        set (HAVE_VORBIS 2)
    +#    else (HAVE_LIBVORBISENC2)
    +#        set (HAVE_VORBIS 1)
    +#    endif (HAVE_LIBVORBISENC2)
    +#else (HAVE_LIBOGG AND HAVE_VORBISFILE_H AND HAVE_LIBVORBIS AND HAVE_LIBVORBISFILE AND HAVE_LIBVORBISENC)
    +#    message(STATUS "Ogg/Vorbis not found")
    +#endif (HAVE_LIBOGG AND HAVE_VORBISFILE_H AND HAVE_LIBVORBIS AND HAVE_LIBVORBISFILE AND HAVE_LIBVORBISENC)
    Index: rts/build/cmake/Modules/FindDevil.cmake
    ===================================================================
    --- rts/build/cmake/Modules/FindDevil.cmake	(revision 0)
    +++ rts/build/cmake/Modules/FindDevil.cmake	(revision 0)
    @@ -0,0 +1,111 @@
    +# Downloaded from: http://www-id.imag.fr/FLOWVR/manual/flowvr-suite-src/flowvr-render/cmake/
    +# License: GPL v2, http://www-id.imag.fr/FLOWVR/manual/flowvr-suite-src/flowvr-render/COPYING
    +#
    +# Modifications:
    +# 2008.01.16 Tobi Vollebregt -- changed Devil->DEVIL for consistency
    +#                            -- added devil, ilu, ilut alternative names for MinGW
    +#                            -- removed "looking for devil" status message
    +
    +# - Find devil
    +# Find the native DevIL includes and library
    +#
    +#  DEVIL_INCLUDE_DIR - where to find IL/il.h, etc.
    +#  DEVIL_LIBRARIES   - List of libraries when using IL.
    +#  DEVIL_FOUND       - True if IL found.
    +
    +IF (DEVIL_INCLUDE_DIR)
    +  # Already in cache, be silent
    +  SET(DEVIL_FIND_QUIETLY TRUE)
    +ENDIF (DEVIL_INCLUDE_DIR)
    +
    +FIND_LIBRARY(DEVIL_IL_LIBRARY
    +  NAMES IL devil
    +  PATHS
    +  ${PROJECT_BINARY_DIR}/lib64
    +  ${PROJECT_BINARY_DIR}/lib
    +  ${PROJECT_SOURCE_DIR}/lib64
    +  ${PROJECT_SOURCE_DIR}/lib
    +  ENV LD_LIBRARY_PATH
    +  ENV LIBRARY_PATH
    +  /usr/lib64
    +  /usr/lib
    +  /usr/local/lib64
    +  /usr/local/lib
    +  NO_DEFAULT_PATH
    +)
    +FIND_LIBRARY(DEVIL_IL_LIBRARY NAMES IL devil)
    +
    +FIND_LIBRARY(DEVIL_ILU_LIBRARY
    +  NAMES ILU ilu
    +  PATHS
    +  ${PROJECT_BINARY_DIR}/lib64
    +  ${PROJECT_BINARY_DIR}/lib
    +  ${PROJECT_SOURCE_DIR}/lib64
    +  ${PROJECT_SOURCE_DIR}/lib
    +  ENV LD_LIBRARY_PATH
    +  ENV LIBRARY_PATH
    +  /usr/lib64
    +  /usr/lib
    +  /usr/local/lib64
    +  /usr/local/lib
    +  NO_DEFAULT_PATH
    +)
    +FIND_LIBRARY(DEVIL_ILU_LIBRARY NAMES ILU ilu)
    +
    +FIND_LIBRARY(DEVIL_ILUT_LIBRARY
    +  NAMES ILUT ilut
    +  PATHS
    +  ${PROJECT_BINARY_DIR}/lib64
    +  ${PROJECT_BINARY_DIR}/lib
    +  ${PROJECT_SOURCE_DIR}/lib64
    +  ${PROJECT_SOURCE_DIR}/lib
    +  ENV LD_LIBRARY_PATH
    +  ENV LIBRARY_PATH
    +  /usr/lib64
    +  /usr/lib
    +  /usr/local/lib64
    +  /usr/local/lib
    +  NO_DEFAULT_PATH
    +)
    +FIND_LIBRARY(DEVIL_ILUT_LIBRARY NAMES ILUT ilut)
    +
    +GET_FILENAME_COMPONENT(DEVIL_LIBRARY_DIR "${DEVIL_IL_LIBRARY}" PATH)
    +GET_FILENAME_COMPONENT(DEVIL_LIBRARY_SUPER_DIR "${DEVIL_LIBRARY_DIR}" PATH)
    +
    +FIND_PATH(DEVIL_INCLUDE_DIR IL/il.h
    +  PATHS
    +  ${PROJECT_BINARY_DIR}/include
    +  ${PROJECT_SOURCE_DIR}/include
    +  ${DEVIL_LIBRARY_SUPER_DIR}/include
    +  ENV CPATH
    +  /usr/local/include
    +  /usr/include
    +  NO_DEFAULT_PATH
    +)
    +FIND_PATH(DEVIL_INCLUDE_DIR IL/il.h)
    +
    +IF (DEVIL_INCLUDE_DIR AND DEVIL_IL_LIBRARY)
    +   SET(DEVIL_FOUND TRUE)
    +   SET(DEVIL_LIBRARIES ${DEVIL_IL_LIBRARY} ${DEVIL_ILU_LIBRARY} ${DEVIL_ILUT_LIBRARY})
    +ELSE (DEVIL_INCLUDE_DIR AND DEVIL_IL_LIBRARY)
    +   SET(DEVIL_FOUND FALSE)
    +   SET(DEVIL_LIBRARIES)
    +ENDIF (DEVIL_INCLUDE_DIR AND DEVIL_IL_LIBRARY)
    +
    +IF (DEVIL_FOUND)
    +   IF (NOT DEVIL_FIND_QUIETLY)
    +      MESSAGE(STATUS "Found DEVIL: ${DEVIL_LIBRARIES}")
    +   ENDIF (NOT DEVIL_FIND_QUIETLY)
    +ELSE (DEVIL_FOUND)
    +   IF (DEVIL_FIND_REQUIRED)
    +      MESSAGE(FATAL_ERROR "Could NOT find DEVIL library")
    +   ENDIF (DEVIL_FIND_REQUIRED)
    +ENDIF (DEVIL_FOUND)
    +
    +MARK_AS_ADVANCED(
    +  DEVIL_LIBRARIES
    +  DEVIL_INCLUDE_DIR
    +  DEVIL_IL_LIBRARY
    +  DEVIL_ILU_LIBRARY
    +  DEVIL_ILUT_LIBRARY
    +  )
    Index: rts/build/cmake/Modules/FindFreetype.cmake
    ===================================================================
    --- rts/build/cmake/Modules/FindFreetype.cmake	(revision 0)
    +++ rts/build/cmake/Modules/FindFreetype.cmake	(revision 0)
    @@ -0,0 +1,85 @@
    +# Downloaded from: http://websvn.kde.org/trunk/KDE/kdelibs/cmake/modules/
    +# License: see the accompanying COPYING-CMAKE-SCRIPTS file
    +#
    +# Modifications:
    +# 2008.01.16 Tobi Vollebregt -- don't use freetype-config on MinGW
    +#                            -- special case FREETYPE_INCLUDE_DIR for MinGW
    +
    +# - Try to find the freetype library
    +# Once done this will define
    +#
    +#  FREETYPE_FOUND - system has Freetype
    +#  FREETYPE_INCLUDE_DIRS - the FREETYPE include directories
    +#  FREETYPE_LIBRARIES - Link these to use FREETYPE
    +#  FREETYPE_INCLUDE_DIR - internal
    +
    +# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
    +#
    +# Redistribution and use is allowed according to the terms of the BSD license.
    +# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
    +
    +
    +if (FREETYPE_LIBRARIES AND FREETYPE_INCLUDE_DIR)
    +
    +  # in cache already
    +  set(FREETYPE_FOUND TRUE)
    +
    +else (FREETYPE_LIBRARIES AND FREETYPE_INCLUDE_DIR)
    +
    +  find_program(FREETYPECONFIG_EXECUTABLE NAMES freetype-config PATHS
    +     /opt/local/bin
    +  )
    +
    +  #reset vars
    +  set(FREETYPE_LIBRARIES)
    +  set(FREETYPE_INCLUDE_DIR)
    +
    +  # if freetype-config has been found
    +  if(FREETYPECONFIG_EXECUTABLE AND NOT MINGW)
    +
    +    exec_program(${FREETYPECONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE FREETYPE_LIBRARIES)
    +
    +    exec_program(${FREETYPECONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _freetype_pkgconfig_output)
    +    if(FREETYPE_LIBRARIES AND _freetype_pkgconfig_output)
    +      set(FREETYPE_FOUND TRUE)
    +
    +      # freetype-config can print out more than one -I, so we need to chop it up
    +      # into a list and process each entry separately
    +      separate_arguments(_freetype_pkgconfig_output)
    +      foreach(value ${_freetype_pkgconfig_output})
    +        string(REGEX REPLACE "-I(.+)" "\\1" value "${value}")
    +        set(FREETYPE_INCLUDE_DIR ${FREETYPE_INCLUDE_DIR} ${value})
    +      endforeach(value)
    +    endif(FREETYPE_LIBRARIES AND _freetype_pkgconfig_output)
    +
    +    set( FREETYPE_LIBRARIES ${FREETYPE_LIBRARIES} CACHE STRING "The libraries for freetype" )
    +
    +    mark_as_advanced(FREETYPE_LIBRARIES FREETYPE_INCLUDE_DIR)
    +
    +  else(FREETYPECONFIG_EXECUTABLE AND NOT MINGW)
    +    if(MINGW)
    +      find_path (FREETYPE_INCLUDE_DIR freetype/freetype.h)
    +    else(MINGW)
    +      find_path (FREETYPE_INCLUDE_DIR freetype2/freetype/freetype.h)
    +      set (FREETYPE_INCLUDE_DIR ${FREETYPE_INCLUDE_DIR}/freetype2)
    +    endif(MINGW)
    +    find_library(FREETYPE_LIBRARIES freetype)
    +    if(FREETYPE_INCLUDE_DIR AND FREETYPE_LIBRARIES)
    +        set(FREETYPE_FOUND TRUE)
    +    endif(FREETYPE_INCLUDE_DIR AND FREETYPE_LIBRARIES)
    +  endif(FREETYPECONFIG_EXECUTABLE AND NOT MINGW)
    +
    +
    +  if (FREETYPE_FOUND)
    +    if (NOT Freetype_FIND_QUIETLY)
    +       message(STATUS "Found Freetype: ${FREETYPE_LIBRARIES}")
    +    endif (NOT Freetype_FIND_QUIETLY)
    +  else (FREETYPE_FOUND)
    +    if (Freetype_FIND_REQUIRED)
    +       message(FATAL_ERROR "Could not find FreeType library")
    +    endif (Freetype_FIND_REQUIRED)
    +  endif (FREETYPE_FOUND)
    +
    +endif (FREETYPE_LIBRARIES AND FREETYPE_INCLUDE_DIR)
    +
    +set(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR}")
    Index: rts/build/cmake/Modules/FindBoost.cmake
    ===================================================================
    --- rts/build/cmake/Modules/FindBoost.cmake	(revision 0)
    +++ rts/build/cmake/Modules/FindBoost.cmake	(revision 0)
    @@ -0,0 +1,486 @@
    +# Downloaded from: http://cmake-modules.googlecode.com/svn/trunk/Modules/Boost/
    +# License: see the accompanying COPYING-CMAKE-SCRIPTS file
    +#
    +# Modifications:
    +# 2008.01.15 Tobi Vollebregt -- added boost_regex-mt similar to boost_thread-mt
    +
    +# - Try to find Boost
    +# Once done this will define
    +#
    +#  BOOST_FOUND - System has Boost
    +#  BOOST_INCLUDE_DIRS - Boost include directory
    +#  BOOST_LIBRARIES - Link these to use Boost
    +#  BOOST_LIBRARY_DIRS - The path to where the Boost library files are.
    +#  BOOST_DEFINITIONS - Compiler switches required for using Boost
    +#  BOOST_LIBRARIES_SUFFIX - Boost libraries name suffix (e.g -vc71-mt-gd-1_34, -gcc41-mt...)
    +#  BOOST_VERSION - Boost version, as defined in boost/version.hpp. For 1.33.1 it is 103301.
    +#
    +#  BOOST_DATE_TIME_FOUND               True if Boost Date Time was found.
    +#  BOOST_FILESYSTEM_FOUND              True if Boost Filesystem was found.
    +#  BOOST_IOSTREAMS_FOUND               True if Boost Iostream was found.
    +#  BOOST_PRG_EXEC_MONITOR_FOUND        True if Boost Program Exec Monitor was found.
    +#  BOOST_PROGRAM_OPTIONS_FOUND         True if Boost Program Options was found.
    +#  BOOST_PYTHON_FOUND                  True if Boost Python was found.
    +#  BOOST_REGEX_FOUND                   True if Boost Regex was found.
    +#  BOOST_SERIALIZATION_FOUND           True if Boost Serialization was found.
    +#  BOOST_SIGNALS_FOUND                 True if Boost Signals was found.
    +#  BOOST_TEST_EXEC_MONITOR_FOUND       True if Boost Test Exec Monitor was found.
    +#  BOOST_THREAD-MT_FOUND               True if Boost Thread was found.
    +#  BOOST_UNIT_TEST_FRAMEWORK_FOUND     True if Boost Unit Test Framework was found.
    +#  BOOST_WSERIALIZATION_FOUND          True if Boost WSerialization was found.
    +#
    +#  BOOST_DATE_TIME_LIBRARY             The Boost Date Time libary.
    +#  BOOST_FILESYSTEM_LIBRARY            The Boost Filesystem libary.
    +#  BOOST_IOSTREAMS_LIBRARY             The Boost Iostream libary.
    +#  BOOST_PRG_EXEC_MONITOR_LIBRARY      The Boost Program libary.
    +#  BOOST_PROGRAM_OPTIONS_LIBRARY       The Boost Program libary.
    +#  BOOST_PYTHON_LIBRARY                The Boost Python libary.
    +#  BOOST_REGEX_LIBRARY                 The Boost Regex libary.
    +#  BOOST_SERIALIZATION_LIBRARY         The Boost Serialization libary.
    +#  BOOST_SIGNALS_LIBRARY               The Boost Signals libary.
    +#  BOOST_TEST_EXEC_MONITOR_LIBRARY     The Boost Test Exec Monitor libary.
    +#  BOOST_THREAD_LIBRARY                The Boost Thread libary.
    +#  BOOST_UNIT_TEST_FRAMEWORK_LIBRARY   The Boost Unit Test Framework libary.
    +#  BOOST_WSERIALIZATION_LIBRARY        The Boost WSerialization libary.
    +#
    +# Copyright (c) 2006 Andreas Schneider <mail@cynapses.org>
    +#  Copyright (c) 2007 Wengo
    +#
    +#  Redistribution and use is allowed according to the terms of the New
    +#  BSD license.
    +#  For details see the accompanying COPYING-CMAKE-SCRIPTS file.
    +#
    +
    +
    +if (BOOST_LIBRARIES AND BOOST_INCLUDE_DIRS)
    +  # in cache already
    +  set(BOOST_FOUND TRUE)
    +else (BOOST_LIBRARIES AND BOOST_INCLUDE_DIRS)
    +  # Add in some path suffixes. These will have to be updated whenever
    +  # a new Boost version comes out.
    +  set(BOOST_PATH_SUFFIX
    +    boost-1_34_1
    +    boost-1_34_0
    +    boost-1_34
    +    boost-1_33_1
    +    boost-1_33_0
    +    boost-1_33
    +  )
    +
    +  if (WIN32)
    +    # In windows, automatic linking is performed, so you do not have to specify the libraries.
    +    # If you are linking to a dynamic runtime, then you can choose to link to either a static or a
    +    # dynamic Boost library, the default is to do a static link.  You can alter this for a specific
    +    # library "whatever" by defining BOOST_WHATEVER_DYN_LINK to force Boost library "whatever" to
    +    # be linked dynamically.  Alternatively you can force all Boost libraries to dynamic link by
    +    # defining BOOST_ALL_DYN_LINK.
    +
    +    # This feature can be disabled for Boost library "whatever" by defining BOOST_WHATEVER_NO_LIB,
    +    # or for all of Boost by defining BOOST_ALL_NO_LIB.
    +
    +    # If you want to observe which libraries are being linked against then defining
    +    # BOOST_LIB_DIAGNOSTIC will cause the auto-linking code to emit a #pragma message each time
    +    # a library is selected for linking.
    +    set(BOOST_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
    +
    +    set(BOOST_INCLUDE_SEARCH_DIRS
    +      $ENV{BOOSTINCLUDEDIR}
    +      C:/boost/include
    +      "C:/Program Files/boost/boost_1_34_0"
    +      "C:/Program Files/boost/boost_1_33_1"
    +      # D: is very often the cdrom drive, if you don't have a
    +      # cdrom inserted it will popup a very annoying dialog
    +      #D:/boost/include
    +      /usr/include
    +      /usr/local/include
    +      /opt/local/include
    +      /sw/include
    +    )
    +
    +    set(BOOST_LIBRARIES_SEARCH_DIRS
    +      $ENV{BOOSTLIBDIR}
    +      C:/boost/lib
    +      "C:/Program Files/boost/boost_1_34_0/lib"
    +      "C:/Program Files/boost/boost_1_33_1/lib"
    +      /usr/lib
    +      /usr/local/lib
    +      /opt/local/lib
    +      /sw/lib
    +    )
    +
    +    if (MSVC71)
    +      if (CMAKE_BUILD_TYPE STREQUAL Debug)
    +        set(BOOST_LIBRARIES_SUFFIXES
    +          -vc71-mt-gd-1_34_1
    +          -vc71-mt-gd-1_34
    +          -vc71-mt-gd-1_33_1
    +        )
    +      else (CMAKE_BUILD_TYPE STREQUAL Debug)
    +        set(BOOST_LIBRARIES_SUFFIXES
    +          -vc71-mt-1_34_1
    +          -vc71-mt-1_34
    +          -vc71-mt-1_33_1
    +        )
    +      endif (CMAKE_BUILD_TYPE STREQUAL Debug)
    +    endif (MSVC71)
    +
    +    if (MSVC80)
    +      if (CMAKE_BUILD_TYPE STREQUAL Debug)
    +        set(BOOST_LIBRARIES_SUFFIXES
    +          -vc80-mt-gd-1_34_1
    +          -vc80-mt-gd-1_34
    +          -vc80-mt-gd-1_33_1
    +        )
    +      else (CMAKE_BUILD_TYPE STREQUAL Debug)
    +        set(BOOST_LIBRARIES_SUFFIXES
    +          -vc80-mt-1_34_1
    +          -vc80-mt-1_34
    +          -vc80-mt-1_33_1
    +        )
    +      endif (CMAKE_BUILD_TYPE STREQUAL Debug)
    +    endif (MSVC80)
    +
    +    if (MINGW)
    +      if (CMAKE_BUILD_TYPE STREQUAL Debug)
    +        set(BOOST_LIBRARIES_SUFFIXES
    +          -mgw-mt-d
    +          -mgw34-mt-d-1_34_1
    +        )
    +      else (CMAKE_BUILD_TYPE STREQUAL Debug)
    +        set(BOOST_LIBRARIES_SUFFIXES
    +          -mgw-mt
    +          -mgw34-mt-1_34_1
    +        )
    +      endif (CMAKE_BUILD_TYPE STREQUAL Debug)
    +    endif (MINGW)
    +
    +    if (CYGWIN)
    +      if (CMAKE_BUILD_TYPE STREQUAL Debug)
    +        set(BOOST_LIBRARIES_SUFFIXES
    +          -gcc-mt-d
    +        )
    +      else (CMAKE_BUILD_TYPE STREQUAL Debug)
    +        set(BOOST_LIBRARIES_SUFFIXES
    +          -gcc-mt
    +        )
    +      endif (CMAKE_BUILD_TYPE STREQUAL Debug)
    +    endif (CYGWIN)
    +
    +  else (WIN32)
    +    set(BOOST_LIBRARIES_SUFFIXES
    +        -gcc-mt
    +        -gcc41-mt
    +        -gcc41-mt-1_34
    +        -gcc41-mt-1_34_1
    +    )
    +  endif (WIN32)
    +
    +  find_path(BOOST_INCLUDE_DIR
    +    NAMES
    +      boost/config.hpp
    +    PATHS
    +      ${BOOST_INCLUDE_SEARCH_DIRS}
    +    PATH_SUFFIXES
    +      ${BOOST_PATH_SUFFIX}
    +  )
    +
    +  if (APPLE)
    +    # CMake bug on Mac OS X:
    +    # When include path has been found in a .framework, 
    +    # BOOST_INCLUDE_DIR is path_to_boost_inc_dir/boost
    +    # where it should be path_to_boost_inc_dir.
    +    # This code removes the trailing boost if needed.
    +    if (NOT EXISTS ${BOOST_INCLUDE_DIR}/boost/config.hpp)
    +      get_filename_component(BOOST_INCLUDE_DIR ${BOOST_INCLUDE_DIR} PATH)
    +    endif (NOT EXISTS ${BOOST_INCLUDE_DIR}/boost/config.hpp)
    +  endif (APPLE)
    +
    +  foreach (TMP_BOOST_LIBRARIES_SUFFIX "" ${BOOST_LIBRARIES_SUFFIXES})
    +
    +    if (NOT BOOST_DATE_TIME_LIBRARY)
    +      find_library(BOOST_DATE_TIME_LIBRARY
    +        NAMES
    +          boost_date_time${TMP_BOOST_LIBRARIES_SUFFIX}
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +
    +      if (BOOST_DATE_TIME_LIBRARY)
    +        # BOOST_DATE_TIME_LIBRARY was found
    +        # sets the libraries suffix, this code is ugly
    +        # but CMake does not allow to break a loop :/
    +        set(BOOST_LIBRARIES_SUFFIX
    +          ${TMP_BOOST_LIBRARIES_SUFFIX}
    +          CACHE INTERNAL "" FORCE
    +        )
    +      endif (BOOST_DATE_TIME_LIBRARY)
    +
    +    endif (NOT BOOST_DATE_TIME_LIBRARY)
    +
    +    if (NOT BOOST_FILESYSTEM_LIBRARY)
    +      find_library(BOOST_FILESYSTEM_LIBRARY
    +        NAMES
    +          boost_filesystem${TMP_BOOST_LIBRARIES_SUFFIX}
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +    endif (NOT BOOST_FILESYSTEM_LIBRARY)
    +
    +    if (NOT BOOST_IOSTREAMS_LIBRARY)
    +      find_library(BOOST_IOSTREAMS_LIBRARY
    +        NAMES
    +          boost_iostreams${TMP_BOOST_LIBRARIES_SUFFIX}
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +    endif (NOT BOOST_IOSTREAMS_LIBRARY)
    +
    +    if (NOT BOOST_PRG_EXEC_MONITOR_LIBRARY)
    +      find_library(BOOST_PRG_EXEC_MONITOR_LIBRARY
    +        NAMES
    +          boost_prg_exec_monitor${TMP_BOOST_LIBRARIES_SUFFIX}
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +    endif (NOT BOOST_PRG_EXEC_MONITOR_LIBRARY)
    +
    +    if (NOT BOOST_PROGRAM_OPTIONS_LIBRARY)
    +      find_library(BOOST_PROGRAM_OPTIONS_LIBRARY
    +        NAMES
    +          boost_program_options${TMP_BOOST_LIBRARIES_SUFFIX}
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +    endif (NOT BOOST_PROGRAM_OPTIONS_LIBRARY)
    +
    +    if (NOT BOOST_PYTHON_LIBRARY)
    +      find_library(BOOST_PYTHON_LIBRARY
    +        NAMES
    +          boost_python${TMP_BOOST_LIBRARIES_SUFFIX}
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +    endif (NOT BOOST_PYTHON_LIBRARY)
    +
    +    if (NOT BOOST_REGEX_LIBRARY)
    +      find_library(BOOST_REGEX_LIBRARY
    +        NAMES
    +          boost_regex${TMP_BOOST_LIBRARIES_SUFFIX}
    +          boost_regex-mt
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +    endif (NOT BOOST_REGEX_LIBRARY)
    +
    +    if (NOT BOOST_SERIALIZATION_LIBRARY)
    +      find_library(BOOST_SERIALIZATION_LIBRARY
    +        NAMES
    +          boost_serialization${TMP_BOOST_LIBRARIES_SUFFIX}
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +    endif (NOT BOOST_SERIALIZATION_LIBRARY)
    +
    +    if (NOT BOOST_SIGNALS_LIBRARY)
    +      find_library(BOOST_SIGNALS_LIBRARY
    +        NAMES
    +          boost_signals${TMP_BOOST_LIBRARIES_SUFFIX}
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +    endif (NOT BOOST_SIGNALS_LIBRARY)
    +
    +    if (NOT BOOST_TEST_EXEC_MONITOR_LIBRARY)
    +      find_library(BOOST_TEST_EXEC_MONITOR_LIBRARY
    +        NAMES
    +          boost_test_exec_monitor${TMP_BOOST_LIBRARIES_SUFFIX}
    +		  libboost_test_exec_monitor${TMP_BOOST_LIBRARIES_SUFFIX}
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +    endif (NOT BOOST_TEST_EXEC_MONITOR_LIBRARY)
    +
    +    if (NOT BOOST_THREAD_LIBRARY)
    +      find_library(BOOST_THREAD_LIBRARY
    +        NAMES
    +          boost_thread${TMP_BOOST_LIBRARIES_SUFFIX}
    +          boost_thread-mt
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +    endif (NOT BOOST_THREAD_LIBRARY)
    +
    +    if (NOT BOOST_UNIT_TEST_FRAMEWORK_LIBRARY)
    +      find_library(BOOST_UNIT_TEST_FRAMEWORK_LIBRARY
    +        NAMES
    +          boost_unit_test_framework${TMP_BOOST_LIBRARIES_SUFFIX}
    +		  libboost_unit_test_framework${TMP_BOOST_LIBRARIES_SUFFIX}
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +    endif (NOT BOOST_UNIT_TEST_FRAMEWORK_LIBRARY)
    +
    +    if (NOT BOOST_WSERIALIZATION_LIBRARY)
    +      find_library(BOOST_WSERIALIZATION_LIBRARY
    +        NAMES
    +          boost_wserialization${TMP_BOOST_LIBRARIES_SUFFIX}
    +        PATHS
    +          ${BOOST_LIBRARIES_SEARCH_DIRS}
    +      )
    +    endif (NOT BOOST_WSERIALIZATION_LIBRARY)
    +
    +    if (BOOST_DATE_TIME_LIBRARY)
    +      set(BOOST_DATE_TIME_FOUND TRUE)
    +    endif (BOOST_DATE_TIME_LIBRARY)
    +    if (BOOST_FILESYSTEM_LIBRARY)
    +      set(BOOST_FILESYSTEM_FOUND TRUE)
    +    endif (BOOST_FILESYSTEM_LIBRARY)
    +    if (BOOST_IOSTREAMS_LIBRARY)
    +      set(BOOST_IOSTREAMS_FOUND TRUE)
    +    endif (BOOST_IOSTREAMS_LIBRARY)
    +    if (BOOST_PRG_EXEC_MONITOR_LIBRARY)
    +      set(BOOST_PRG_EXEC_MONITOR_FOUND TRUE)
    +    endif (BOOST_PRG_EXEC_MONITOR_LIBRARY)
    +    if (BOOST_PROGRAM_OPTIONS_LIBRARY)
    +      set(BOOST_PROGRAM_OPTIONS_FOUND TRUE)
    +    endif (BOOST_PROGRAM_OPTIONS_LIBRARY)
    +    if (BOOST_PYTHON_LIBRARY)
    +      set(BOOST_PYTHON_FOUND TRUE)
    +    endif (BOOST_PYTHON_LIBRARY)
    +    if (BOOST_REGEX_LIBRARY)
    +      set(BOOST_REGEX_FOUND TRUE)
    +    endif (BOOST_REGEX_LIBRARY)
    +    if (BOOST_SERIALIZATION_LIBRARY)
    +      set(BOOST_SERIALIZATION_FOUND TRUE)
    +    endif (BOOST_SERIALIZATION_LIBRARY)
    +    if (BOOST_SIGNALS_LIBRARY)
    +      set(BOOST_SIGNALS_FOUND TRUE)
    +    endif (BOOST_SIGNALS_LIBRARY)
    +    if (BOOST_TEST_EXEC_MONITOR_LIBRARY)
    +      set(BOOST_TEST_EXEC_MONITOR_FOUND TRUE)
    +    endif (BOOST_TEST_EXEC_MONITOR_LIBRARY)
    +    if (BOOST_THREAD_LIBRARY)
    +      set(BOOST_THREAD-MT_FOUND TRUE)
    +    endif (BOOST_THREAD_LIBRARY)
    +    if (BOOST_UNIT_TEST_FRAMEWORK_LIBRARY)
    +      set(BOOST_UNIT_TEST_FRAMEWORK_FOUND TRUE)
    +    endif (BOOST_UNIT_TEST_FRAMEWORK_LIBRARY)
    +    if (BOOST_WSERIALIZATION_LIBRARY)
    +      set(BOOST_WSERIALIZATION_FOUND TRUE)
    +    endif (BOOST_WSERIALIZATION_LIBRARY)
    +
    +  endforeach (TMP_BOOST_LIBRARIES_SUFFIX)
    +
    +  set(BOOST_INCLUDE_DIRS
    +    ${BOOST_INCLUDE_DIR}
    +  )
    +
    +  if (BOOST_DATE_TIME_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_DATE_TIME_LIBRARY}
    +    )
    +  endif (BOOST_DATE_TIME_FOUND)
    +  if (BOOST_FILESYSTEM_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_FILESYSTEM_LIBRARY}
    +    )
    +  endif (BOOST_FILESYSTEM_FOUND)
    +  if (BOOST_IOSTREAMS_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_IOSTREAMS_LIBRARY}
    +    )
    +  endif (BOOST_IOSTREAMS_FOUND)
    +  if (BOOST_PRG_EXEC_MONITOR_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_PRG_EXEC_MONITOR_LIBRARY}
    +    )
    +  endif (BOOST_PRG_EXEC_MONITOR_FOUND)
    +  if (BOOST_PROGRAM_OPTIONS_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_PROGRAM_OPTIONS_LIBRARY}
    +    )
    +  endif (BOOST_PROGRAM_OPTIONS_FOUND)
    +  if (BOOST_PYTHON_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_PYTHON_LIBRARY}
    +    )
    +  endif (BOOST_PYTHON_FOUND)
    +  if (BOOST_REGEX_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_REGEX_LIBRARY}
    +    )
    +  endif (BOOST_REGEX_FOUND)
    +  if (BOOST_SERIALIZATION_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_SERIALIZATION_LIBRARY}
    +    )
    +  endif (BOOST_SERIALIZATION_FOUND)
    +  if (BOOST_SIGNALS_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_SIGNALS_LIBRARY}
    +    )
    +  endif (BOOST_SIGNALS_FOUND)
    +  if (BOOST_TEST_EXEC_MONITOR_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_TEST_EXEC_MONITOR_LIBRARY}
    +    )
    +  endif (BOOST_TEST_EXEC_MONITOR_FOUND)
    +  if (BOOST_THREAD-MT_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_THREAD_LIBRARY}
    +    )
    +  endif (BOOST_THREAD-MT_FOUND)
    +  if (BOOST_UNIT_TEST_FRAMEWORK_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_UNIT_TEST_FRAMEWORK_LIBRARY}
    +    )
    +  endif (BOOST_UNIT_TEST_FRAMEWORK_FOUND)
    +  if (BOOST_WSERIALIZATION_FOUND)
    +    set(BOOST_LIBRARIES
    +      ${BOOST_LIBRARIES}
    +      ${BOOST_WSERIALIZATION_LIBRARY}
    +    )
    +  endif (BOOST_WSERIALIZATION_FOUND)
    +
    +  if (BOOST_INCLUDE_DIRS AND BOOST_LIBRARIES)
    +    set(BOOST_FOUND TRUE)
    +    # Look for a line like this: '#define BOOST_VERSION 103301' in version.hpp
    +    file(READ ${BOOST_INCLUDE_DIR}/boost/version.hpp _boost_version_hpp)
    +    string(REGEX REPLACE ".*\n#define BOOST_VERSION ([0-9]+).*" "\\1" BOOST_VERSION "${_boost_version_hpp}")
    +  endif (BOOST_INCLUDE_DIRS AND BOOST_LIBRARIES)
    +
    +  if (BOOST_FOUND)
    +    if (NOT Boost_FIND_QUIETLY)
    +      message(STATUS "Found Boost version ${BOOST_VERSION}: ${BOOST_INCLUDE_DIRS}, ${BOOST_LIBRARIES}")
    +    endif (NOT Boost_FIND_QUIETLY)
    +  else (BOOST_FOUND)
    +    if (Boost_FIND_REQUIRED)
    +      message(FATAL_ERROR "Could not find Boost")
    +    endif (Boost_FIND_REQUIRED)
    +  endif (BOOST_FOUND)
    +
    +  foreach (BOOST_LIBDIR ${BOOST_LIBRARIES})
    +    get_filename_component(BOOST_LIBRARY_DIRS ${BOOST_LIBDIR} PATH)
    +  endforeach (BOOST_LIBDIR ${BOOST_LIBRARIES})
    +
    +  # Under Windows, automatic linking is performed, so no need to specify the libraries.
    +  if (WIN32)
    +    set(BOOST_LIBRARIES "")
    +  endif (WIN32)
    +
    +  # show the BOOST_INCLUDE_DIRS and BOOST_LIBRARIES variables only in the advanced view
    +  mark_as_advanced(BOOST_INCLUDE_DIRS BOOST_LIBRARIES BOOST_LIBRARY_DIRS BOOST_DEFINITIONS BOOST_LIBRARIES_SUFFIX)
    +
    +endif (BOOST_LIBRARIES AND BOOST_INCLUDE_DIRS)
    Index: rts/build/cmake/Modules/TestCXXAcceptsVisibilityFlag.cmake
    ===================================================================
    --- rts/build/cmake/Modules/TestCXXAcceptsVisibilityFlag.cmake	(revision 0)
    +++ rts/build/cmake/Modules/TestCXXAcceptsVisibilityFlag.cmake	(revision 0)
    @@ -0,0 +1,17 @@
    +# - Test whether the C++ compiler supports "-fvisibility=hidden"
    +# Once done this will define
    +#
    +# VISIBILITY_HIDDEN - -fvisibility=hidden if supported, an empty string otherwise.
    +#
    +# Copyright (C) 2008 Tobi Vollebregt
    +#
    +
    +IF(NOT DEFINED CMAKE_CXX_FLAGS)
    +	INCLUDE(TestCXXAcceptsFlag)
    +	CHECK_CXX_ACCEPTS_FLAG(-fvisibility=hidden VISIBILITY_HIDDEN)
    +	IF(VISIBILITY_HIDDEN)
    +		SET(VISIBILITY_HIDDEN -fvisibility=hidden)
    +	ELSE(VISIBILITY_HIDDEN)
    +		SET(VISIBILITY_HIDDEN "")
    +	ENDIF(VISIBILITY_HIDDEN )
    +ENDIF(NOT DEFINED CMAKE_CXX_FLAGS)
    Index: rts/build/cmake/Modules/COPYING-CMAKE-SCRIPTS
    ===================================================================
    --- rts/build/cmake/Modules/COPYING-CMAKE-SCRIPTS	(revision 0)
    +++ rts/build/cmake/Modules/COPYING-CMAKE-SCRIPTS	(revision 0)
    @@ -0,0 +1,22 @@
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions
    +are met:
    +
    +1. Redistributions of source code must retain the copyright
    +   notice, this list of conditions and the following disclaimer.
    +2. Redistributions in binary form must reproduce the copyright
    +   notice, this list of conditions and the following disclaimer in the
    +   documentation and/or other materials provided with the distribution.
    +3. The name of the author may not be used to endorse or promote products 
    +   derived from this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
    +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
    +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
    +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
    +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    Index: rts/build/cmake/Modules/FindWin32Libs.cmake
    ===================================================================
    --- rts/build/cmake/Modules/FindWin32Libs.cmake	(revision 0)
    +++ rts/build/cmake/Modules/FindWin32Libs.cmake	(revision 0)
    @@ -0,0 +1,78 @@
    +# - Try to find some win32-only libraries needed to compile Spring
    +# Once done this will define
    +#
    +# WIN32_FOUND - System has the required libraries
    +# WIN32_LIBRARIES - Link these
    +#
    +
    +SET(WIN32_FOUND TRUE)
    +
    +IF(NOT IMAGEHLP_LIBRARY)
    +	FIND_LIBRARY(IMAGEHLP_LIBRARY imagehlp)
    +	IF(NOT IMAGEHLP_LIBRARY)
    +		MESSAGE(SEND_ERROR "Could not find win32 IMAGEHLP library.")
    +		SET(WIN32_FOUND FALSE)
    +	ENDIF(NOT IMAGEHLP_LIBRARY)
    +ENDIF(NOT IMAGEHLP_LIBRARY)
    +
    +IF(NOT DSOUND_LIBRARY)
    +	FIND_LIBRARY(DSOUND_LIBRARY dsound)
    +	IF(NOT DSOUND_LIBRARY)
    +		MESSAGE(SEND_ERROR "Could not find win32 DSOUND library.")
    +		SET(WIN32_FOUND FALSE)
    +	ENDIF(NOT DSOUND_LIBRARY)
    +ENDIF(NOT DSOUND_LIBRARY)
    +
    +IF(NOT OLE32_LIBRARY)
    +	FIND_LIBRARY(OLE32_LIBRARY ole32)
    +	IF(NOT OLE32_LIBRARY)
    +		MESSAGE(SEND_ERROR "Could not find win32 OLE32 library.")
    +		SET(WIN32_FOUND FALSE)
    +	ENDIF(NOT OLE32_LIBRARY)
    +ENDIF(NOT OLE32_LIBRARY)
    +
    +IF(NOT WSOCK32_LIBRARY)
    +	FIND_LIBRARY(WSOCK32_LIBRARY wsock32)
    +	IF(NOT WSOCK32_LIBRARY)
    +		MESSAGE(SEND_ERROR "Could not find win32 WSOCK32 library.")
    +		SET(WIN32_FOUND FALSE)
    +	ENDIF(NOT WSOCK32_LIBRARY)
    +ENDIF(NOT WSOCK32_LIBRARY)
    +
    +IF(NOT GDI32_LIBRARY)
    +	FIND_LIBRARY(GDI32_LIBRARY gdi32)
    +	IF(NOT GDI32_LIBRARY)
    +		MESSAGE(SEND_ERROR "Could not find win32 GDI32 library.")
    +		SET(WIN32_FOUND FALSE)
    +	ENDIF(NOT GDI32_LIBRARY)
    +ENDIF(NOT GDI32_LIBRARY)
    +
    +IF(NOT WINMM_LIBRARY)
    +	FIND_LIBRARY(WINMM_LIBRARY winmm)
    +	IF(NOT WINMM_LIBRARY)
    +		MESSAGE(SEND_ERROR "Could not find win32 WINMM library.")
    +		SET(WIN32_FOUND FALSE)
    +	ENDIF(NOT WINMM_LIBRARY)
    +ENDIF(NOT WINMM_LIBRARY)
    +
    +IF(WIN32_FOUND)
    +	SET(WIN32_LIBRARIES
    +		${IMAGEHLP_LIBRARY} # for System/Platform/Win/CrashHandler.cpp
    +		${DSOUND_LIBRARY}   # for System/Platform/Win/DxSound.cpp
    +		${OLE32_LIBRARY}    # for System/Platform/Win/DxSound.cpp
    +		${WSOCK32_LIBRARY}  # for System/Net/
    +#		${GDI32_LIBRARY}    # FIXME: possibly for AVI recording?
    +#		${WINMM_LIBRARY}
    +	)
    +
    +	MESSAGE(STATUS "Found win32 libraries: ${WIN32_LIBRARIES}")
    +ENDIF(WIN32_FOUND)
    +
    +MARK_AS_ADVANCED(
    +	IMAGEHLP_LIBRARY
    +	DSOUND_LIBRARY
    +	OLE32_LIBRARY
    +	WSOCK32_LIBRARY
    +	GDI32_LIBRARY
    +	WINMM_LIBRARY
    +)
    Index: rts/build/cmake/Modules/FindGLEW.cmake
    ===================================================================
    --- rts/build/cmake/Modules/FindGLEW.cmake	(revision 0)
    +++ rts/build/cmake/Modules/FindGLEW.cmake	(revision 0)
    @@ -0,0 +1,61 @@
    +# Downloaded from: http://www-id.imag.fr/FLOWVR/manual/flowvr-suite-src/flowvr-render/cmake/
    +# License: GPL v2, http://www-id.imag.fr/FLOWVR/manual/flowvr-suite-src/flowvr-render/COPYING
    +
    +# - Try to find GLEW
    +# Once done this will define
    +#
    +#  GLEW_FOUND - system has GLEW
    +#  GLEW_INCLUDE_DIR - the GLEW include directory
    +#  GLEW_LIBRARIES - Link these to use GLEW
    +#  GLEW_DEFINITIONS - Compiler switches required for using GLEW
    +#
    +
    +
    +FIND_PATH(GLEW_INCLUDE_DIR NAMES GL/glew.h
    +  PATHS
    +  ${PROJECT_BINARY_DIR}/include
    +  ${PROJECT_SOURCE_DIR}/include
    +  ENV CPATH
    +  /usr/include
    +  /usr/local/include
    +  NO_DEFAULT_PATH
    +)
    +FIND_PATH(GLEW_INCLUDE_DIR NAMES GL/glew.h)
    +
    +FIND_LIBRARY(GLEW_LIBRARIES NAMES GLEW
    +  PATHS
    +  ${PROJECT_BINARY_DIR}/lib64
    +  ${PROJECT_BINARY_DIR}/lib
    +  ${PROJECT_SOURCE_DIR}/lib64
    +  ${PROJECT_SOURCE_DIR}/lib
    +  ENV LD_LIBRARY_PATH
    +  ENV LIBRARY_PATH
    +  /usr/lib64
    +  /usr/lib
    +  /usr/local/lib64
    +  /usr/local/lib
    +  NO_DEFAULT_PATH
    +)
    +IF(WIN32)
    +  FIND_LIBRARY(GLEW_LIBRARIES NAMES GLEW glew32)
    +ELSE(WIN32)
    +  FIND_LIBRARY(GLEW_LIBRARIES NAMES GLEW)
    +ENDIF(WIN32)
    +
    +IF(GLEW_INCLUDE_DIR AND GLEW_LIBRARIES)
    +   SET(GLEW_FOUND TRUE)
    +ENDIF(GLEW_INCLUDE_DIR AND GLEW_LIBRARIES)
    +
    +IF(GLEW_FOUND)
    +  IF(NOT GLEW_FIND_QUIETLY)
    +    MESSAGE(STATUS "Found GLEW: ${GLEW_LIBRARIES}")
    +  ENDIF(NOT GLEW_FIND_QUIETLY)
    +ELSE(GLEW_FOUND)
    +  IF(GLEW_FIND_REQUIRED)
    +    MESSAGE(FATAL_ERROR "Could not find GLEW")
    +  ENDIF(GLEW_FIND_REQUIRED)
    +ENDIF(GLEW_FOUND)
    +
    +# show the GLEW_INCLUDE_DIR and GLEW_LIBRARIES variables only in the advanced view
    +  MARK_AS_ADVANCED(GLEW_INCLUDE_DIR GLEW_LIBRARIES )
    +
    Index: rts/lib/minizip/CMakeLists.txt
    ===================================================================
    --- rts/lib/minizip/CMakeLists.txt	(revision 0)
    +++ rts/lib/minizip/CMakeLists.txt	(revision 0)
    @@ -0,0 +1,17 @@
    +PROJECT(minizip)
    +
    +INCLUDE(FindZLIB)
    +
    +IF(WIN32)
    +	SET(optional_sources iowin32.c)
    +ENDIF(WIN32)
    +
    +ADD_LIBRARY(minizip STATIC
    +	ioapi.c
    +	unzip.c
    +	zip.c
    +	${optional_sources}
    +)
    +INCLUDE_DIRECTORIES(
    +	${ZLIB_INCLUDE_DIR}
    +)
    
    Property changes on: rts/lib/minizip/CMakeLists.txt
    ___________________________________________________________________
    Name: svn:eol-style
       + native
    
    Index: rts/lib/hpiutil2/CMakeLists.txt
    ===================================================================
    --- rts/lib/hpiutil2/CMakeLists.txt	(revision 0)
    +++ rts/lib/hpiutil2/CMakeLists.txt	(revision 0)
    @@ -0,0 +1,17 @@
    +PROJECT(hpiutil2)
    +
    +INCLUDE(FindBoost)
    +INCLUDE(FindSDL)
    +
    +ADD_LIBRARY(hpiutil2 STATIC
    +	hpientry.cpp
    +	hpifile.cpp
    +	hpiutil.cpp
    +	scrambledfile.cpp
    +	sqshstream.cpp
    +	substream.cpp
    +)
    +INCLUDE_DIRECTORIES(
    +	${BOOST_INCLUDE_DIR}
    +	${SDL_INCLUDE_DIR}
    +)
    
    Property changes on: rts/lib/hpiutil2/CMakeLists.txt
    ___________________________________________________________________
    Name: svn:eol-style
       + native
    
    Index: rts/lib/lua/CMakeLists.txt
    ===================================================================
    --- rts/lib/lua/CMakeLists.txt	(revision 0)
    +++ rts/lib/lua/CMakeLists.txt	(revision 0)
    @@ -0,0 +1,41 @@
    +PROJECT(lua)
    +
    +ADD_LIBRARY(lua STATIC
    +	src/lapi.cpp
    +	src/lauxlib.cpp
    +	src/lbaselib.cpp
    +	src/lcode.cpp
    +	src/ldblib.cpp
    +	src/ldebug.cpp
    +	src/ldo.cpp
    +	src/ldump.cpp
    +	src/lfunc.cpp
    +	src/lgc.cpp
    +	src/linit.cpp
    +	src/liolib.cpp
    +	src/llex.cpp
    +	src/lmathlib.cpp
    +	src/lmem.cpp
    +	src/loadlib.cpp
    +	src/lobject.cpp
    +	src/lopcodes.cpp
    +	src/loslib.cpp
    +	src/lparser.cpp
    +	src/lstate.cpp
    +	src/lstring.cpp
    +	src/lstrlib.cpp
    +	src/ltable.cpp
    +	src/ltablib.cpp
    +	src/ltm.cpp
    +	src/lundump.cpp
    +	src/lvm.cpp
    +	src/lzio.cpp
    +	src/print.cpp
    +)
    +ADD_DEFINITIONS(
    +	-DSTREFLOP_X87
    +)
    +INCLUDE_DIRECTORIES(
    +	../streflop
    +	include
    +)
    
    Property changes on: rts/lib/lua/CMakeLists.txt
    ___________________________________________________________________
    Name: svn:eol-style
       + native
    
    Index: rts/lib/7zip/CMakeLists.txt
    ===================================================================
    --- rts/lib/7zip/CMakeLists.txt	(revision 0)
    +++ rts/lib/7zip/CMakeLists.txt	(revision 0)
    @@ -0,0 +1,17 @@
    +PROJECT(7z)
    +
    +ADD_LIBRARY(7z STATIC
    +	7zAlloc.c
    +	7zBuffer.c
    +	7zCrc.c
    +	7zDecode.c
    +	7zExtract.c
    +	7zHeader.c
    +	7zIn.c
    +	7zItem.c
    +	7zMethodID.c
    +	LzmaDecode.c
    +)
    +ADD_DEFINITIONS(
    +	-D_SZ_ONE_DIRECTORY
    +)
    
    Property changes on: rts/lib/7zip/CMakeLists.txt
    ___________________________________________________________________
    Name: svn:eol-style
       + native
    
    Index: rts/lib/CMakeLists.txt
    ===================================================================
    --- rts/lib/CMakeLists.txt	(revision 0)
    +++ rts/lib/CMakeLists.txt	(revision 0)
    @@ -0,0 +1,6 @@
    +ADD_SUBDIRECTORY(7zip)
    +ADD_SUBDIRECTORY(hpiutil2)
    +ADD_SUBDIRECTORY(lua)
    +ADD_SUBDIRECTORY(luabind)
    +ADD_SUBDIRECTORY(minizip)
    +ADD_SUBDIRECTORY(streflop)
    
    Property changes on: rts/lib/CMakeLists.txt
    ___________________________________________________________________
    Name: svn:eol-style
       + native
    
    Index: rts/lib/streflop/CMakeLists.txt
    ===================================================================
    --- rts/lib/streflop/CMakeLists.txt	(revision 0)
    +++ rts/lib/streflop/CMakeLists.txt	(revision 0)
    @@ -0,0 +1,22 @@
    +PROJECT(streflop)
    +
    +ADD_DEFINITIONS(-DSTREFLOP_X87)
    +
    +AUX_SOURCE_DIRECTORY(libm/flt-32 libm_flt32_source)
    +AUX_SOURCE_DIRECTORY(libm/dbl-64 libm_dbl64_source)
    +AUX_SOURCE_DIRECTORY(libm/ldbl-96 libm_ldbl96_source)
    +
    +# FIXME: portability to MSVC
    +SET(cxxflags "-I${CMAKE_CURRENT_SOURCE_DIR}/libm/headers -w")
    +SET_SOURCE_FILES_PROPERTIES(${libm_flt32_source} PROPERTIES COMPILE_FLAGS "-DLIBM_COMPILING_FLT32 ${cxxflags}")
    +SET_SOURCE_FILES_PROPERTIES(${libm_dbl64_source} PROPERTIES COMPILE_FLAGS "-DLIBM_COMPILING_DBL64 ${cxxflags}")
    +SET_SOURCE_FILES_PROPERTIES(${libm_ldbl96_source} PROPERTIES COMPILE_FLAGS "-DLIBM_COMPILING_LDBL96 ${cxxflags}")
    +
    +ADD_LIBRARY(streflop STATIC
    +	SMath.cpp
    +	Random.cpp
    +	${libm_flt32_source}
    +# not needed => safer (and faster) to not compile them at all
    +#	${libm_dbl64_source}
    +#	${libm_ldbl96_source}
    +)
    
    Property changes on: rts/lib/streflop/CMakeLists.txt
    ___________________________________________________________________
    Name: svn:eol-style
       + native
    
    Index: rts/lib/luabind/CMakeLists.txt
    ===================================================================
    --- rts/lib/luabind/CMakeLists.txt	(revision 0)
    +++ rts/lib/luabind/CMakeLists.txt	(revision 0)
    @@ -0,0 +1,30 @@
    +PROJECT(luabind)
    +
    +INCLUDE(FindBoost)
    +
    +ADD_LIBRARY(luabind STATIC
    +	src/class.cpp
    +	src/class_info.cpp
    +	src/class_registry.cpp
    +	src/class_rep.cpp
    +	src/create_class.cpp
    +	src/error.cpp
    +	src/find_best_match.cpp
    +	src/function.cpp
    +	src/implicit_cast.cpp
    +	src/link_compatibility.cpp
    +	src/object_rep.cpp
    +	src/open.cpp
    +	src/overload_rep.cpp
    +	src/pcall.cpp
    +	src/ref.cpp
    +	src/scope.cpp
    +	src/stack_content_by_name.cpp
    +	src/weak_ref.cpp
    +	src/wrapper_base.cpp
    +)
    +INCLUDE_DIRECTORIES(
    +	.
    +	../lua/include
    +	${BOOST_INCLUDE_DIRS}
    +)
    
    Property changes on: rts/lib/luabind/CMakeLists.txt
    ___________________________________________________________________
    Name: svn:eol-style
       + native
    
    Index: rts/CMakeLists.txt
    ===================================================================
    --- rts/CMakeLists.txt	(revision 0)
    +++ rts/CMakeLists.txt	(revision 0)
    @@ -0,0 +1,540 @@
    +PROJECT(spring)
    +
    +#if you don't want the full Compiler-Output, remove the following Line
    +#SET(CMAKE_VERBOSE_MAKEFILE ON)
    +
    +SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build/cmake/Modules")
    +
    +# Dependencies needed on all platforms.
    +
    +IF(MINGW)
    +	SET(SDL_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/../mingwlibs/include/SDL")
    +ENDIF(MINGW)
    +
    +INCLUDE(FindBoost)
    +INCLUDE(FindDevil)
    +INCLUDE(FindFreetype)
    +INCLUDE(FindGLEW)
    +INCLUDE(FindOggVorbis)
    +INCLUDE(FindOpenGL)
    +INCLUDE(FindSDL)
    +INCLUDE(FindZLIB)
    +
    +IF(NOT BOOST_REGEX_FOUND)
    +	MESSAGE(SEND_ERROR "Could not find BOOST_REGEX library.")
    +ENDIF(NOT BOOST_REGEX_FOUND)
    +IF(NOT BOOST_THREAD-MT_FOUND)
    +	MESSAGE(SEND_ERROR "Could not find BOOST_THREAD library.")
    +ENDIF(NOT BOOST_THREAD-MT_FOUND)
    +IF(NOT DEVIL_FOUND)
    +	MESSAGE(SEND_ERROR "Could not find DEVIL library.")
    +ENDIF(NOT DEVIL_FOUND)
    +IF(NOT FREETYPE_FOUND)
    +	MESSAGE(SEND_ERROR "Could not find FREETYPE library.")
    +ENDIF(NOT FREETYPE_FOUND)
    +IF(NOT GLEW_FOUND)
    +	MESSAGE(SEND_ERROR "Could not find GLEW library.")
    +ENDIF(NOT GLEW_FOUND)
    +IF(NOT OGGVORBIS_FOUND)
    +	MESSAGE(SEND_ERROR "Could not find OGGVORBIS library.")
    +ENDIF(NOT OGGVORBIS_FOUND)
    +IF(NOT OPENGL_FOUND)
    +	MESSAGE(SEND_ERROR "Could not find OPENGL library.")
    +ENDIF(NOT OPENGL_FOUND)
    +IF(NOT OPENGL_GLU_FOUND)
    +	MESSAGE(SEND_ERROR "Could not find OPENGL_GLU library.")
    +ENDIF(NOT OPENGL_GLU_FOUND)
    +IF(NOT SDL_LIBRARY)
    +	MESSAGE(SEND_ERROR "Could not find SDL library.")
    +ENDIF(NOT SDL_LIBRARY)
    +IF(NOT ZLIB_FOUND)
    +	MESSAGE(SEND_ERROR "Could not find ZLIB library.")
    +ENDIF(NOT ZLIB_FOUND)
    +
    +# Platform specific dependencies.
    +
    +IF(WIN32)
    +	INCLUDE(FindWin32Libs)
    +	IF(NOT WIN32_FOUND)
    +		MESSAGE(SEND_ERROR "Could not find WIN32 libraries.")
    +	ENDIF(NOT WIN32_FOUND)
    +ENDIF(WIN32)
    +
    +# Cygwin defines both UNIX and WIN32.
    +IF(UNIX AND NOT WIN32)
    +	INCLUDE(FindOpenAL)
    +	IF(NOT OPENAL_FOUND)
    +		MESSAGE(SEND_ERROR "Could not find OPENAL library.")
    +	ENDIF(NOT OPENAL_FOUND)
    +ENDIF(UNIX AND NOT WIN32)
    +
    +
    +SET(debugdefines "-DDEBUG -D_DEBUG")
    +SET(nodebugdefines "-DNDEBUG")
    +
    +# FIXME: make this work again (see the file)
    +INCLUDE(TestCXXAcceptsVisibilityFlag)
    +
    +SET(cxxflags "-DSTREFLOP_X87 ${VISIBILITY_HIDDEN} -mfpmath=387 -march=i686")
    +
    +# FIXME: these don't show up in ccmake
    +SET(CMAKE_CXX_FLAGS_DEBUG          "-g ${debugdefines} ${cxxflags}" CACHE STRING "a")
    +SET(CMAKE_CXX_FLAGS_RELEASE        "-O3 ${nodebugdefines} ${cxxflags}" CACHE STRING "a")
    +SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${nodebugdefines} ${cxxflags}" CACHE STRING "a")
    +SET(CMAKE_CXX_FLAGS_MINSIZEREL     "-Os ${nodebugdefines} ${cxxflags}" CACHE STRING "a")
    +SET(CMAKE_CXX_FLAGS                "${CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "a")
    +
    +
    +
    +ADD_SUBDIRECTORY(lib)
    +
    +IF(WIN32)
    +	SET(optional_sources
    +		System/Platform/Win/AVIGenerator.cpp
    +		System/Platform/Win/CrashHandler.cpp
    +		System/Platform/Win/DllLib.cpp
    +		System/Platform/Win/DxSound.cpp
    +		System/Platform/Win/OggStream.cpp
    +		System/Platform/Win/RegHandler.cpp
    +		System/Platform/Win/seh.cpp
    +		System/Platform/Win/Win32Cmd.cpp
    +		System/Platform/Win/WinFileSystemHandler.cpp
    +	)
    +	SET(optional_include_directories
    +	)
    +	SET(optional_link_libraries
    +		${WIN32_LIBRARIES}
    +	)
    +ELSE(WIN32)
    +	SET(optional_sources
    +		System/Platform/Linux/DataDirLocater.cpp
    +		System/Platform/Linux/DotfileHandler.cpp
    +		System/Platform/Linux/OggStream.cpp
    +		System/Platform/Linux/OpenALSound.cpp
    +		System/Platform/Linux/PosixCmd.cpp
    +		System/Platform/Linux/SoLib.cpp
    +		System/Platform/Linux/UnixFileSystemHandler.cpp
    +		System/Platform/Linux/X_MessageBox.cpp
    +	)
    +	SET(optional_include_directories
    +		${OPENAL_INCLUDE_DIR}
    +	)
    +	SET(optional_link_libraries
    +		${OPENAL_LIBRARY}
    +	)
    +	SET_SOURCE_FILES_PROPERTIES(System/Platform/Linux/DataDirLocater.cpp PROPERTIES
    +		COMPILE_FLAGS "-DSPRING_DATADIR=\\\"${CMAKE_INSTALL_PREFIX}/share/games/spring\\\" -DSPRING_DATADIR_2=\\\"${CMAKE_INSTALL_PREFIX}/lib/spring\\\""
    +	)
    +	SET_SOURCE_FILES_PROPERTIES(Game/Game.cpp Game/GameServer.cpp PROPERTIES
    +		COMPILE_FLAGS "-DNO_AVI"
    +	)
    +ENDIF(WIN32)
    +
    +ADD_EXECUTABLE(spring WIN32
    +	ExternalAI/AICallback.cpp
    +	ExternalAI/AICheats.cpp
    +	ExternalAI/GlobalAICallback.cpp
    +	ExternalAI/GlobalAICInterface/AbicProxy.cpp
    +	ExternalAI/GlobalAI.cpp
    +	ExternalAI/GlobalAIHandler.cpp
    +	ExternalAI/GroupAiCallback.cpp
    +	ExternalAI/Group.cpp
    +	ExternalAI/GroupHandler.cpp
    +	Game/Camera/CameraController.cpp
    +	Game/Camera.cpp
    +	Game/Camera/FPSController.cpp
    +	Game/Camera/FreeController.cpp
    +	Game/CameraHandler.cpp
    +	Game/Camera/LuaCameraCtrl.cpp
    +	Game/Camera/OverheadController.cpp
    +	Game/Camera/OverviewController.cpp
    +	Game/Camera/RotOverheadController.cpp
    +	Game/Camera/TWController.cpp
    +	Game/ConsoleHistory.cpp
    +	Game/GameController.cpp
    +	Game/Game.cpp
    +	Game/GameHelper.cpp
    +	Game/GameServer.cpp
    +	Game/GameSetup.cpp
    +	Game/GameSetupData.cpp
    +	Game/GameVersion.cpp
    +	Game/Player.cpp
    +	Game/PlayerRoster.cpp
    +	Game/PreGame.cpp
    +	Game/SelectedUnitsAI.cpp
    +	Game/SelectedUnits.cpp
    +	Game/Server/ServerLog.cpp
    +	Game/Server/ServerLogHandler.cpp
    +	Game/StartScripts/AirScript.cpp
    +	Game/StartScripts/CommanderScript2.cpp
    +	Game/StartScripts/CommanderScript.cpp
    +	Game/StartScripts/EmptyScript.cpp
    +	Game/StartScripts/GlobalAITestScript.cpp
    +	Game/StartScripts/LoadScript.cpp
    +	Game/StartScripts/Script.cpp
    +	Game/StartScripts/ScriptHandler.cpp
    +	Game/StartScripts/SpawnScript.cpp
    +	Game/StartScripts/TestScript.cpp
    +	Game/Team.cpp
    +	Game/UI/CommandColors.cpp
    +	Game/UI/CursorIcons.cpp
    +	Game/UI/EndGameBox.cpp
    +	Game/UI/GameInfo.cpp
    +	Game/UI/GameSetupDrawer.cpp
    +	Game/UI/GuiHandler.cpp
    +	Game/UI/InfoConsole.cpp
    +	Game/UI/InputReceiver.cpp
    +	Game/UI/KeyAutoBinder.cpp
    +	Game/UI/KeyBindings.cpp
    +	Game/UI/KeyCodes.cpp
    +	Game/UI/KeySet.cpp
    +	Game/UI/LuaUI.cpp
    +	Game/UI/MiniMap.cpp
    +	Game/UI/MouseCursor.cpp
    +	Game/UI/MouseHandler.cpp
    +	Game/UI/OutlineFont.cpp
    +	Game/UI/QuitBox.cpp
    +	Game/UI/ResourceBar.cpp
    +	Game/UI/SelectionKeyHandler.cpp
    +	Game/UI/ShareBox.cpp
    +	Game/UI/StartPosSelecter.cpp
    +	Game/UI/TooltipConsole.cpp
    +	Game/WaitCommandsAI.cpp
    +	Game/WordCompletion.cpp
    +	Lua/LuaBitOps.cpp
    +	Lua/LuaCallInCheck.cpp
    +	Lua/LuaCallInHandler.cpp
    +	Lua/LuaConstCMD.cpp
    +	Lua/LuaConstCMDTYPE.cpp
    +	Lua/LuaConstGame.cpp
    +	Lua/LuaConstGL.cpp
    +	Lua/LuaFBOs.cpp
    +	Lua/LuaFeatureDefs.cpp
    +	Lua/LuaGaia.cpp
    +	Lua/LuaHandle.cpp
    +	Lua/LuaHandleSynced.cpp
    +	Lua/LuaMaterial.cpp
    +	Lua/LuaOpenGL.cpp
    +	Lua/LuaParser.cpp
    +	Lua/LuaPathFinder.cpp
    +	Lua/LuaRBOs.cpp
    +	Lua/LuaRules.cpp
    +	Lua/LuaScream.cpp
    +	Lua/LuaShaders.cpp
    +	Lua/LuaSyncedCall.cpp
    +	Lua/LuaSyncedCtrl.cpp
    +	Lua/LuaSyncedMoveCtrl.cpp
    +	Lua/LuaSyncedRead.cpp
    +	Lua/LuaSyncedTable.cpp
    +	Lua/LuaTextures.cpp
    +	Lua/LuaUnitDefs.cpp
    +	Lua/LuaUnitRendering.cpp
    +	Lua/LuaUnsyncedCall.cpp
    +	Lua/LuaUnsyncedCtrl.cpp
    +	Lua/LuaUnsyncedRead.cpp
    +	Lua/LuaUtils.cpp
    +	Lua/LuaVFS.cpp
    +	Lua/LuaWeaponDefs.cpp
    +	Map/BaseGroundDrawer.cpp
    +	Map/BasicMapDamage.cpp
    +	Map/Ground.cpp
    +	Map/HeightMapTexture.cpp
    +	Map/MapDamage.cpp
    +	Map/MetalMap.cpp
    +	Map/NoMapDamage.cpp
    +	Map/ReadMap.cpp
    +	Map/SM3/Frustum.cpp
    +	Map/SM3/Plane.cpp
    +	Map/SM3/Sm3GroundDrawer.cpp
    +	Map/SM3/Sm3Map.cpp
    +	Map/SM3/terrain/Lightcalc.cpp
    +	Map/SM3/terrain/QuadRenderData.cpp
    +	Map/SM3/terrain/Terrain.cpp
    +	Map/SM3/terrain/TerrainTexEnvCombine.cpp
    +	Map/SM3/terrain/TerrainTexture.cpp
    +	Map/SM3/terrain/TerrainTextureGLSL.cpp
    +	Map/SM3/terrain/TerrainUtil.cpp
    +	Map/SM3/terrain/TerrainVertexBuffer.cpp
    +	Map/SM3/terrain/Textures.cpp
    +	Map/SMF/BFGroundDrawer.cpp
    +	Map/SMF/BFGroundTextures.cpp
    +	Map/SMF/SmfReadMap.cpp
    +	Rendering/Env/AdvSky.cpp
    +	Rendering/Env/AdvTreeDrawer.cpp
    +	Rendering/Env/AdvTreeGenerator.cpp
    +	Rendering/Env/AdvWater.cpp
    +	Rendering/Env/BaseSky.cpp
    +	Rendering/Env/BaseTreeDrawer.cpp
    +	Rendering/Env/BaseWater.cpp
    +	Rendering/Env/BasicSky.cpp
    +	Rendering/Env/BasicTreeDrawer.cpp
    +	Rendering/Env/BasicWater.cpp
    +	Rendering/Env/DynWater.cpp
    +	Rendering/Env/GrassDrawer.cpp
    +	Rendering/Env/RefractWater.cpp
    +	Rendering/Env/SkyBox.cpp
    +	Rendering/FartextureHandler.cpp
    +	Rendering/FontTexture.cpp
    +	Rendering/GLContext.cpp
    +	Rendering/GL/FBO.cpp
    +	Rendering/glFont.cpp
    +	Rendering/GL/glExtra.cpp
    +	Rendering/GL/glList.cpp
    +	Rendering/GL/glTextBox.cpp
    +	Rendering/GL/myGL.cpp
    +	Rendering/GL/VertexArray.cpp
    +	Rendering/GL/VertexArrayRange.cpp
    +	Rendering/GroundDecalHandler.cpp
    +	Rendering/GroundFlash.cpp
    +	Rendering/IconHandler.cpp
    +	Rendering/InMapDraw.cpp
    +	Rendering/ShadowHandler.cpp
    +	Rendering/Textures/Bitmap.cpp
    +	Rendering/Textures/ColorMap.cpp
    +	Rendering/Textures/NamedTextures.cpp
    +	Rendering/Textures/nv_dds.cpp
    +	Rendering/Textures/TAPalette.cpp
    +	Rendering/Textures/TextureAtlas.cpp
    +	Rendering/Textures/TextureHandler.cpp
    +	Rendering/UnitModels/3DModelParser.cpp
    +	Rendering/UnitModels/3DOParser.cpp
    +	Rendering/UnitModels/s3oParser.cpp
    +	Rendering/UnitModels/UnitDrawer.cpp
    +	Rendering/VerticalSync.cpp
    +	Sim/Features/Feature.cpp
    +	Sim/Features/FeatureHandler.cpp
    +	Sim/Features/FeatureSet.cpp
    +	Sim/Misc/AirBaseHandler.cpp
    +	Sim/Misc/CategoryHandler.cpp
    +	Sim/Misc/CollisionVolume.cpp
    +	Sim/Misc/DamageArray.cpp
    +	Sim/Misc/DamageArrayHandler.cpp
    +	Sim/Misc/GeometricObjects.cpp
    +	Sim/Misc/InterceptHandler.cpp
    +	Sim/Misc/LosHandler.cpp
    +	Sim/Misc/QuadField.cpp
    +	Sim/Misc/RadarHandler.cpp
    +	Sim/Misc/SensorHandler.cpp
    +	Sim/Misc/Wind.cpp
    +	Sim/ModInfo.cpp
    +	Sim/MoveTypes/AAirMoveType.cpp
    +	Sim/MoveTypes/AirMoveType.cpp
    +	Sim/MoveTypes/GroundMoveType.cpp
    +	Sim/MoveTypes/Mobility.cpp
    +	Sim/MoveTypes/MoveInfo.cpp
    +	Sim/MoveTypes/MoveMath/GroundMoveMath.cpp
    +	Sim/MoveTypes/MoveMath/HoverMoveMath.cpp
    +	Sim/MoveTypes/MoveMath/MoveMath.cpp
    +	Sim/MoveTypes/MoveMath/ShipMoveMath.cpp
    +	Sim/MoveTypes/MoveType.cpp
    +	Sim/MoveTypes/ScriptMoveType.cpp
    +	Sim/MoveTypes/TAAirMoveType.cpp
    +	Sim/Objects/SolidObject.cpp
    +	Sim/Objects/WorldObject.cpp
    +	Sim/Path/PathCache.cpp
    +	Sim/Path/PathEstimator.cpp
    +	Sim/Path/PathFinder.cpp
    +	Sim/Path/PathManager.cpp
    +	Sim/Projectiles/ExpGenSpawner.cpp
    +	Sim/Projectiles/ExplosionGenerator.cpp
    +	Sim/Projectiles/FireProjectile.cpp
    +	Sim/Projectiles/FlareProjectile.cpp
    +	Sim/Projectiles/PieceProjectile.cpp
    +	Sim/Projectiles/Projectile.cpp
    +	Sim/Projectiles/ProjectileHandler.cpp
    +	Sim/Projectiles/Unsynced/BitmapMuzzleFlame.cpp
    +	Sim/Projectiles/Unsynced/BubbleProjectile.cpp
    +	Sim/Projectiles/Unsynced/DirtProjectile.cpp
    +	Sim/Projectiles/Unsynced/ExploSpikeProjectile.cpp
    +	Sim/Projectiles/Unsynced/GenericParticleProjectile.cpp
    +	Sim/Projectiles/Unsynced/GeoSquareProjectile.cpp
    +	Sim/Projectiles/Unsynced/GeoThermSmokeProjectile.cpp
    +	Sim/Projectiles/Unsynced/GfxProjectile.cpp
    +	Sim/Projectiles/Unsynced/HeatCloudProjectile.cpp
    +	Sim/Projectiles/Unsynced/MuzzleFlame.cpp
    +	Sim/Projectiles/Unsynced/RepulseGfx.cpp
    +	Sim/Projectiles/Unsynced/ShieldPartProjectile.cpp
    +	Sim/Projectiles/Unsynced/SimpleParticleSystem.cpp
    +	Sim/Projectiles/Unsynced/SmokeProjectile2.cpp
    +	Sim/Projectiles/Unsynced/SmokeProjectile.cpp
    +	Sim/Projectiles/Unsynced/SmokeTrailProjectile.cpp
    +	Sim/Projectiles/Unsynced/SpherePartProjectile.cpp
    +	Sim/Projectiles/Unsynced/TracerProjectile.cpp
    +	Sim/Projectiles/Unsynced/WakeProjectile.cpp
    +	Sim/Projectiles/Unsynced/WreckProjectile.cpp
    +	Sim/Projectiles/WeaponProjectiles/BeamLaserProjectile.cpp
    +	Sim/Projectiles/WeaponProjectiles/EmgProjectile.cpp
    +	Sim/Projectiles/WeaponProjectiles/ExplosiveProjectile.cpp
    +	Sim/Projectiles/WeaponProjectiles/FireBallProjectile.cpp
    +	Sim/Projectiles/WeaponProjectiles/FlameProjectile.cpp
    +	Sim/Projectiles/WeaponProjectiles/LargeBeamLaserProjectile.cpp
    +	Sim/Projectiles/WeaponProjectiles/LaserProjectile.cpp
    +	Sim/Projectiles/WeaponProjectiles/LightingProjectile.cpp
    +	Sim/Projectiles/WeaponProjectiles/MissileProjectile.cpp
    +	Sim/Projectiles/WeaponProjectiles/StarburstProjectile.cpp
    +	Sim/Projectiles/WeaponProjectiles/TorpedoProjectile.cpp
    +	Sim/Projectiles/WeaponProjectiles/WeaponProjectile.cpp
    +	Sim/Units/COB/CobEngine.cpp
    +	Sim/Units/COB/CobFile.cpp
    +	Sim/Units/COB/CobInstance.cpp
    +	Sim/Units/COB/CobThread.cpp
    +	Sim/Units/CommandAI/AirCAI.cpp
    +	Sim/Units/CommandAI/BuilderCAI.cpp
    +	Sim/Units/CommandAI/CommandAI.cpp
    +	Sim/Units/CommandAI/Command.cpp
    +	Sim/Units/CommandAI/FactoryCAI.cpp
    +	Sim/Units/CommandAI/LineDrawer.cpp
    +	Sim/Units/CommandAI/MobileCAI.cpp
    +	Sim/Units/CommandAI/TransportCAI.cpp
    +	Sim/Units/Unit.cpp
    +	Sim/Units/UnitDefHandler.cpp
    +	Sim/Units/UnitHandler.cpp
    +	Sim/Units/UnitLoader.cpp
    +	Sim/Units/UnitSet.cpp
    +	Sim/Units/UnitTracker.cpp
    +	Sim/Units/UnitTypes/Builder.cpp
    +	Sim/Units/UnitTypes/Building.cpp
    +	Sim/Units/UnitTypes/ExtractorBuilding.cpp
    +	Sim/Units/UnitTypes/Factory.cpp
    +	Sim/Units/UnitTypes/TransportUnit.cpp
    +	Sim/Weapons/BeamLaser.cpp
    +	Sim/Weapons/bombdropper.cpp
    +	Sim/Weapons/Cannon.cpp
    +	Sim/Weapons/DGunWeapon.cpp
    +	Sim/Weapons/EmgCannon.cpp
    +	Sim/Weapons/FlameThrower.cpp
    +	Sim/Weapons/LaserCannon.cpp
    +	Sim/Weapons/LightingCannon.cpp
    +	Sim/Weapons/MeleeWeapon.cpp
    +	Sim/Weapons/MissileLauncher.cpp
    +	Sim/Weapons/NoWeapon.cpp
    +	Sim/Weapons/PlasmaRepulser.cpp
    +	Sim/Weapons/Rifle.cpp
    +	Sim/Weapons/StarburstLauncher.cpp
    +	Sim/Weapons/TorpedoLauncher.cpp
    +	Sim/Weapons/Weapon.cpp
    +	Sim/Weapons/WeaponDefHandler.cpp
    +	System/AutohostInterface.cpp
    +	System/BaseNetProtocol.cpp
    +	System/creg/creg.cpp
    +	System/creg/Serializer.cpp
    +	System/creg/VarTypes.cpp
    +	System/Demo.cpp
    +	System/DemoReader.cpp
    +	System/DemoRecorder.cpp
    +	System/FileSystem/Archive7Zip.cpp
    +	System/FileSystem/ArchiveBase.cpp
    +	System/FileSystem/ArchiveBuffered.cpp
    +	System/FileSystem/ArchiveDir.cpp
    +	System/FileSystem/ArchiveFactory.cpp
    +	System/FileSystem/ArchiveHPI.cpp
    +	System/FileSystem/ArchiveScanner.cpp
    +	System/FileSystem/ArchiveZip.cpp
    +	System/FileSystem/CRC.cpp
    +	System/FileSystem/FileHandler.cpp
    +	System/FileSystem/SimpleParser.cpp
    +	System/FileSystem/VFSHandler.cpp
    +	System/float3.cpp
    +	System/GlobalStuff.cpp
    +	System/LoadInterface.cpp
    +	System/LoadSaveHandler.cpp
    +	System/LoadSaveInterface.cpp
    +	System/LogOutput.cpp
    +	System/Main.cpp
    +	System/Matrix44f.cpp
    +	System/MemPool.cpp
    +	System/Messages.cpp
    +	System/mmgr.cpp
    +	System/MouseInput.cpp
    +	System/myMath.cpp
    +	System/Net/Connection.cpp
    +	System/Net/LocalConnection.cpp
    +	System/Net/Net.cpp
    +	System/NetProtocol.cpp
    +	System/Net/ProtocolDef.cpp
    +	System/Net/RawPacket.cpp
    +	System/Net/Socket.cpp
    +	System/Net/UDPConnectedSocket.cpp
    +	System/Net/UDPConnection.cpp
    +	System/Net/UDPListener.cpp
    +	System/Net/UDPSocket.cpp
    +	System/Object.cpp
    +	System/Platform/BaseCmd.cpp
    +	System/Platform/Clipboard.cpp
    +	System/Platform/ConfigHandler.cpp
    +	System/Platform/errorhandler.cpp
    +	System/Platform/FileSystem.cpp
    +	System/Platform/SharedLib.cpp
    +	System/SaveInterface.cpp
    +	System/Script/LuaBinder.cpp
    +	System/Script/LuaFunctions.cpp
    +	System/Sound.cpp
    +	System/SpringApp.cpp
    +	System/StdAfx.cpp
    +	System/Sync/bget.cpp
    +	System/Sync/Logger.cpp
    +	System/Sync/SyncChecker.cpp
    +	System/Sync/SyncDebugger.cpp
    +	System/Sync/SyncedFloat3.cpp
    +	System/Sync/Syncify.cpp
    +	System/Sync/SyncTracer.cpp
    +	System/TdfParser.cpp
    +	System/TimeProfiler.cpp
    +	System/UnsyncedRNG.cpp
    +	${optional_sources}
    +)
    +
    +ADD_DEPENDENCIES(spring
    +	7z
    +	hpiutil2
    +	lua
    +	luabind
    +	minizip
    +	streflop
    +)
    +
    +ADD_DEFINITIONS(
    +	-DDIRECT_CONTROL_ALLOWED
    +)
    +
    +INCLUDE_DIRECTORIES(
    +	.
    +        System
    +	lib/lua/include
    +	lib/luabind
    +	${BOOST_INCLUDE_DIRS}
    +	${DEVIL_INCLUDE_DIR}
    +	${FREETYPE_INCLUDE_DIR}
    +	${GLEW_INCLUDE_DIR}
    +	${OGGVORBIS_INCLUDE_DIR}
    +	${OPENGL_INCLUDE_DIR}
    +	${SDL_INCLUDE_DIR}
    +	${ZLIB_INCLUDE_DIR}
    +	${optional_include_directories}
    +)
    +
    +GET_TARGET_PROPERTY(sevenzip 7z LOCATION)
    +GET_TARGET_PROPERTY(hpiutil2 hpiutil2 LOCATION)
    +GET_TARGET_PROPERTY(lua lua LOCATION)
    +GET_TARGET_PROPERTY(luabind luabind LOCATION)
    +GET_TARGET_PROPERTY(minizip minizip LOCATION)
    +GET_TARGET_PROPERTY(streflop streflop LOCATION)
    +
    +TARGET_LINK_LIBRARIES(spring
    +	${sevenzip}
    +	${hpiutil2}
    +	${lua}
    +	${luabind}
    +	${minizip}
    +	${streflop}
    +	${BOOST_REGEX_LIBRARY}
    +	${BOOST_THREAD_LIBRARY}
    +	${FREETYPE_LIBRARIES}
    +	${DEVIL_LIBRARIES}
    +	${GLEW_LIBRARIES}
    +	${OGGVORBIS_LIBRARIES}
    +	${OPENGL_LIBRARIES}
    +	${SDL_LIBRARY}
    +	${ZLIB_LIBRARIES}
    +	${optional_link_libraries}
    +)
    
    Property changes on: rts/CMakeLists.txt
    ___________________________________________________________________
    Name: svn:eol-style
       + native
    
    
    patch file icon build_with_cmake_tobi.patch (57,234 bytes) 2008-05-24 22:40 +

-Relationships
+Relationships

-Notes

~0002293

Auswaschbar (reporter)

Last edited: 2008-05-19 12:12

I wrote a cmake script which can compile spring.

Here are some features:
- it only needs the /rts/ subdirectory, so you don't need to checkout whole trunk
- it supports out-of-source builds, so you can use one source tree to compile with different settings (debug, release, USE_MMGR etc.)
- its tested on linux-native, linux-mingw, and windows-mingw
- only 150 lines of code (with comments)

I will upload it here later
edit: here it is, please try it and post the results

~0002294

imbaczek (reporter)

No cross-compilation
    There is no documented support for cross-compilation. This is scheduled for a future release.

this basically means a no-go... unless it can be worked around.

~0002295

Auswaschbar (reporter)

CMake 2.6 was released before a week or so. Cross compilation works, and the generated executable works fine with wine.

~0002301

tvo (reporter)

I have halfway working cmake files too (also with some Find*, rts/lib stuff compilable separately, and maybe somewhat more, don't exactly remember.)

Doesn't sync yet with release though I think, didn't add much compile flags yet.

~0002302

sombriks (reporter)

:)

don't forget guys that no one there are talking about wipe out other build system support, since CMake is just simpler in some cases but lacks some useful options.

there are some .cmake modules, which can be used directly or as base for another module in order to simplify the dependencies tracking process. Also the cmake wiki
(http://www.cmake.org/Wiki/Main_Page) have nice tutorials, seems to be the best resource about CMake.

i'm working so much now (not even to play Spring i have time, :/) but that weekend i will try to compile the rts using some cmake features.

~0002311

tvo (reporter)

I added what I have, some differences I noticed already while skimming through Auswaschbar's version are:

- I started big with making Find* stuff too; not sure that was a really good idea after all.
- it's not working with current trunk, probably because of the file list in it (I didn't use that AUX_ thing)
- I've way too much code :-)

For the rest it also only needs /rts/, supports out of source builds and IIRC I tested it on linux-native and linux-mingw, but not windows-mingw yet (probably doesn't work on it)

~0002312

Auswaschbar (reporter)

Cmake-files were added in 5940.
+Notes

-Issue History
Date Modified Username Field Change
2008-05-19 07:38 sombriks New Issue
2008-05-19 10:48 Auswaschbar Note Added: 0002293
2008-05-19 12:10 Auswaschbar File Added: build_with_cmake.patch
2008-05-19 12:11 Auswaschbar Note Edited: 0002293
2008-05-19 12:12 Auswaschbar Note Edited: 0002293
2008-05-19 20:26 imbaczek Note Added: 0002294
2008-05-19 21:33 Auswaschbar Note Added: 0002295
2008-05-20 22:20 tvo Note Added: 0002301
2008-05-21 00:29 sombriks Note Added: 0002302
2008-05-24 22:40 tvo File Added: build_with_cmake_tobi.patch
2008-05-24 22:47 tvo Note Added: 0002311
2008-05-25 15:04 Auswaschbar Status new => resolved
2008-05-25 15:04 Auswaschbar Fixed in Version => 0.76b1+svn
2008-05-25 15:04 Auswaschbar Resolution open => fixed
2008-05-25 15:04 Auswaschbar Assigned To => Auswaschbar
2008-05-25 15:04 Auswaschbar Note Added: 0002312
+Issue History