Attached Files |
-
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)
+
-
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
|
---|