Skip to content

Commit

Permalink
Updated the version to 2.2, added support for patch versions and adde…
Browse files Browse the repository at this point in the history
…d the changelog.txt
  • Loading branch information
eXpl0it3r committed Dec 4, 2014
1 parent 2175614 commit 1c46ec7
Show file tree
Hide file tree
Showing 5 changed files with 185 additions and 11 deletions.
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

cmake_minimum_required(VERSION 2.8)

# define a macro that helps defining an option
Expand All @@ -21,7 +20,7 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Config.cmake)

# setup version numbers
set(VERSION_MAJOR 2)
set(VERSION_MINOR 1)
set(VERSION_MINOR 2)
set(VERSION_PATCH 0)

# add the SFML header path
Expand Down
172 changes: 172 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
SFML 2.2
========

Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.2

General
=======

* Support for iOS and Android platform (#410, #440)
* Various documentation corrections (#438, #496, #497, #714)
* Fixed support for compilers on Debian FreeBSD (#380, #578)
* Added support for Visual Studio 2013 and proper support for the TDM builds (#482)
* Fixed CMake problems related to FindSFML and cached variables (#637, #684)
* Switched and enforced LF line endings (#708, #712)
* Updated OpenAL to version 1.15.1 (d077210)
* Made compiler and OS variable names much clearer in CMake files (9b0ed30)
* Re-enabled RPATH feature (e157e7a)
* Slight adjustments to the examples (#737)
* [FreeBSD] Various configuration fixes (#577, #578)
* [Linux] Updated FindSFML.cmake to add UDev to SFML's dependencies (#728, #729, #734, #736)
* [OS X] Fixed incorrect symlink in freetype.framework (#519)
* [OS X] CMake module for correct dependencies (#548)
* [OS X] Fixed SFML target for Xcode (#595, #596)
* [OS X] Updated implementation, mainly reverting to non-ARC (#601)
* [OS X] Fixed memory leaks and dead store (#615)
* [OS X] Improved event handling and performance (#617)
* [OS X] Reduced memory usage (#672, #698)
* [OS X] OS X 10.10 support (#691, #699)
* [OS X] Improve flexibility of dependencies' locations (#713)
* [Windows] Removed the hack that copied external libraries into SFML static libraries (dbf01a7)


System
======

Features
--------
* Added substring and replace functions to sf::String (#21, #355)
* Added toUtfX to sf::String (#501)
* Added fromUtfX functions to set the internal data to a string by converting from another string in a fixed encoding (#196)
* Added modulo operator for sf::Time (#429, #430)
* Added division operator for sf::Time (#453)

Bugfixes
--------
* Ensured a high resolution for sf::sleep (#439, #475)
* [Windows] Fixed stack unalignment by two internal functions (#412)


Window
======

Features
--------
* Added window methods to request and to check focus (#518, #525, #613, #723, #735)
* Provide name, manufacturer ID and product ID via sf::Joystick (#152, #528)
* [FreeBDS] Joystick support (#477)
* [OS X] Improved integration with menus and dock actions (#11)
* [OS X] Support for OpenGL 3.2 (#84)
* [OS X] Improved fullscreen support (#343)
* [OS X] Added support for retina displays (#353, #388)
* [Windows] Removed support for Windows 9x (#469)
* [Windows] Fixed typo in Windows keyboard implementation (#516)

Bugfixes
--------
* sf::Window::create() now also resets framerate limit (#371)
* Fixed OpenGL context leak (#635, #705)
* Fixed various joystick problems (memory leak, accelerometer detected, code refactoring) (#660, #686, #742, #743)
* Optimized sf::Window::waitEvent a bit, no sleep if events are available at first try (ff555d6)
* [Linux] Output error message when XOpenDisplay() fails (#508, #616)
* [Linux] Resize window with setSize when sf::Style::Resize is set (#466)
* [Linux] Fixed broken key repeat on window recreation (#564, #567)
* [OS X] Fixed KeyReleased not being fired in fullscreen mode (#465)
* [OS X] Fixed an issue where disconnecting the keyboard would cause a crash (#467)
* [OS X] Fixed unexpected resizing behavior (#468)
* [OS X] Improved resizing windows (#474)
* [OS X] Fixed memory leak with sf::Window::create() (#484)
* [OS X] Fixed menu shortcuts in fullscreen on OS X (#527)
* [OS X] Improved cursor hiding (#703)
* [OS X] Fixed right click not detected with trackpads (#716, #730)
* [Windows] Fixed joystick POV values (ef1d29b)
* [Windows] Fixed Unicode inconsistency (#635)
* [Windows] Fixed Alt+F4 and mouse clicks issues (#437, #457)
* [Windows] Send MouseButtonReleased event when the mouse is outside of the window (#455, #457)
* [Windows] Fixed sf::Joystick wrong registry usage (#701, #702, #706)


Graphics
========

Features
--------
* Provide more information about the loaded font in sf::Font (#164)
* Implemented a more flexible blending system (#298)
* Added strikethrough text style (#243, #362, #682)
* Slight optimization for sf::Text::setString (#413)
* Added subtraction operator for sf::Color (#114, #145)
* Optimized sf::Image::flipVertically/flipHorizontally (#555)
* Changed sf::Font measurements from int to float to allow better underline drawing (#693)

Bugfixes
--------
* Improved text quality for small and pixelated fonts (#228)
* Yet another fix for Intel GPUs with sf::RenderTexture (#418)
* Removed VTab since it causes issues and doesn't have a use nowadays (#442, #445, #460, #588)
* Fixed broken BDF and PCF font formats (#448)
* Fixed compilation issue with newer versions of GCC for sf::Rect (#458)
* Fixed resetGLStates() not explicitly setting the default polygon mode (#480)
* Fixed division-by-zero in sf::RectangleShape (#499)
* Fixed potential memory leak in sf::Font (#509)
* Updated glext and removed glxext (#511, #583)
* Make sure texture unit 0 is active when resetting sf::RenderTarget states (#523, #591)
* Fixed texture rect computation in fonts (#669)
* Improved rendering of underlined text (#593)
* Avoided repeated output of error messages (#566)
* Fixed text rendered with vertical offset on ascent and font size mismatch (#576)
* Fixed rounding problem for viewports (#598)
* Fixed sf::Shader::isAvailable() possibly breaking context management (#211, #603, #608, #603)
* Fixed sf::Texture::getMaximumSize() possibly breaking context management (#666)
* Fixed various sf::Text rendering issues (#692, #699)
* The texture matrix is now reset in sf::Texture::bind(NULL) (7c4b058)
* [Windows] Fixed DPI scaling causing strange window behavior (#679, #681, #688)


Audio
=====

Features
--------
* Added support for selecting the audio capture device (#220, #470)
* Make sf::SoundRecorder processing frequency configurable (#333)
* Added up vector to sf::Listener (#545)

Bugfixes
--------
* Prevented sf::SoundStream::setPlayingOffset() from restarting playing even when paused (#203, #592)
* Fixed sf::SoundBuffer contents not being able to be updated when still attached to sounds (#354, 367, #390, #589)
* Catch audio format error and prevent division by zero (#529)
* Fixed sf::SoundBuffer returning wrong duration for sounds containing more than ~4.3 million samples (2ff58ed)
* Optimized sf::Listener with a cache (d97e524)

Network
=======

Features
--------
* Added support for PUT and DELETE in sf::Http (#257, #312, #607)
* Added support for chunked HTTP transfers (#296, #337)
* Added support for 64-bit integers in sf::Packet (#710)
* Made sf::Ftp::sendCommand() public (2c5cab5)

Bugfixes
--------
* Checked socket descriptor limit (#153, #628, #683)
* Fixed sf::TcpSocket::connect()'s switching from blocking to non-blocking mode on immediate connection success (#221)
* Fixed FTP download and upload file sizes being limited by available RAM (#565, #590)
* Fixed C++11 compiler warnings for sf::Uint8 (#731, #732)



SFML 2.1
========

Please refer to the release announcement: http://en.sfml-dev.org/forums/index.php?topic=76.msg86454#msg86454



SFML 2.0
========

Please refer to the release announcement: http://en.sfml-dev.org/forums/index.php?topic=76.msg78424#msg78424
4 changes: 2 additions & 2 deletions cmake/Macros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ macro(sfml_add_library target)
# set the version and soversion of the target (for compatible systems -- mostly Linuxes)
# except for Android which strips soversion suffixes
if(NOT SFML_OS_ANDROID)
set_target_properties(${target} PROPERTIES SOVERSION ${VERSION_MAJOR})
set_target_properties(${target} PROPERTIES VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
set_target_properties(${target} PROPERTIES SOVERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
set_target_properties(${target} PROPERTIES VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
endif()

# set the target's folder (for IDEs that support it, e.g. Visual Studio)
Expand Down
14 changes: 8 additions & 6 deletions cmake/Modules/FindSFML.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -89,26 +89,28 @@ if(SFML_FIND_VERSION AND SFML_INCLUDE_DIR)
set(SFML_CONFIG_HPP_INPUT "${SFML_INCLUDE_DIR}/SFML/Config.hpp")
endif()
FILE(READ "${SFML_CONFIG_HPP_INPUT}" SFML_CONFIG_HPP_CONTENTS)
STRING(REGEX MATCH ".*#define SFML_VERSION_MAJOR ([0-9]+).*#define SFML_VERSION_MINOR ([0-9]+).*" SFML_CONFIG_HPP_CONTENTS "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX MATCH ".*#define SFML_VERSION_MAJOR ([0-9]+).*#define SFML_VERSION_MINOR ([0-9]+).*#define SFML_VERSION_PATCH ([0-9]+).*" SFML_CONFIG_HPP_CONTENTS "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX REPLACE ".*#define SFML_VERSION_MAJOR ([0-9]+).*" "\\1" SFML_VERSION_MAJOR "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX REPLACE ".*#define SFML_VERSION_MINOR ([0-9]+).*" "\\1" SFML_VERSION_MINOR "${SFML_CONFIG_HPP_CONTENTS}")
math(EXPR SFML_REQUESTED_VERSION "${SFML_FIND_VERSION_MAJOR} * 10 + ${SFML_FIND_VERSION_MINOR}")
STRING(REGEX REPLACE ".*#define SFML_VERSION_PATCH ([0-9]+).*" "\\1" SFML_VERSION_PATCH "${SFML_CONFIG_HPP_CONTENTS}")
math(EXPR SFML_REQUESTED_VERSION "${SFML_FIND_VERSION_MAJOR} * 10000 + ${SFML_FIND_VERSION_MINOR} * 100 + ${SFML_FIND_VERSION_PATCH}")

# if we could extract them, compare with the requested version number
if (SFML_VERSION_MAJOR)
# transform version numbers to an integer
math(EXPR SFML_VERSION "${SFML_VERSION_MAJOR} * 10 + ${SFML_VERSION_MINOR}")
math(EXPR SFML_VERSION "${SFML_VERSION_MAJOR} * 10000 + ${SFML_VERSION_MINOR} * 100 + ${SFML_VERSION_PATCH}")

# compare them
if(SFML_VERSION LESS SFML_REQUESTED_VERSION)
set(SFML_VERSION_OK FALSE)
endif()
else()
# SFML version is < 2.0
if (SFML_REQUESTED_VERSION GREATER 19)
if (SFML_REQUESTED_VERSION GREATER 10900)
set(SFML_VERSION_OK FALSE)
set(SFML_VERSION_MAJOR 1)
set(SFML_VERSION_MINOR x)
set(SFML_VERSION_PATCH x)
endif()
endif()
endif()
Expand Down Expand Up @@ -332,7 +334,7 @@ endif()
# handle errors
if(NOT SFML_VERSION_OK)
# SFML version not ok
set(FIND_SFML_ERROR "SFML found but version too low (requested: ${SFML_FIND_VERSION}, found: ${SFML_VERSION_MAJOR}.${SFML_VERSION_MINOR})")
set(FIND_SFML_ERROR "SFML found but version too low (requested: ${SFML_FIND_VERSION}, found: ${SFML_VERSION_MAJOR}.${SFML_VERSION_MINOR}.${SFML_VERSION_PATCH})")
set(SFML_FOUND FALSE)
elseif(SFML_STATIC_LIBRARIES AND FIND_SFML_DEPENDENCIES_NOTFOUND)
set(FIND_SFML_ERROR "SFML found but some of its dependencies are missing (${FIND_SFML_DEPENDENCIES_NOTFOUND})")
Expand All @@ -353,5 +355,5 @@ endif()

# handle success
if(SFML_FOUND)
message(STATUS "Found SFML ${SFML_VERSION_MAJOR}.${SFML_VERSION_MINOR} in ${SFML_INCLUDE_DIR}")
message(STATUS "Found SFML ${SFML_VERSION_MAJOR}.${SFML_VERSION_MINOR}.${SFML_VERSION_PATCH} in ${SFML_INCLUDE_DIR}")
endif()
3 changes: 2 additions & 1 deletion include/SFML/Config.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@
// Define the SFML version
////////////////////////////////////////////////////////////
#define SFML_VERSION_MAJOR 2
#define SFML_VERSION_MINOR 1
#define SFML_VERSION_MINOR 2
#define SFML_VERSION_PATCH 0


////////////////////////////////////////////////////////////
Expand Down

0 comments on commit 1c46ec7

Please sign in to comment.