diff --git a/CMakeLists.txt b/CMakeLists.txt index da14d8b1..5d41fbcf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,8 +49,8 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Config.cmake) # setup version numbers set(VERSION_MAJOR 2) -set(VERSION_MINOR 4) -set(VERSION_PATCH 2) +set(VERSION_MINOR 5) +set(VERSION_PATCH 1) # add the SFML header path include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) @@ -128,6 +128,9 @@ if(SFML_OS_ANDROID) add_definitions("-DSTL_LIBRARY=${ANDROID_STL}") endif() + # let the user switch ABIs + set(ANDROID_ABI "armeabi-v7a" CACHE STRING "Look at the NDK docs for currently supported ABIs") + # this is a workaround to compile sfml-activity without the stl library as a dependency # we save the original compilation command line to restore it later in Macro.cmake set(CMAKE_CXX_CREATE_SHARED_LIBRARY_WITH_STL ${CMAKE_CXX_CREATE_SHARED_LIBRARY}) @@ -498,15 +501,17 @@ elseif(SFML_OS_MACOSX) elseif(SFML_OS_IOS) - # fix CMake install rules broken for iOS (see http://public.kitware.com/Bug/view.php?id=12506) + # fix CMake install rules broken for iOS (see https://public.kitware.com/Bug/view.php?id=12506) if(SFML_OS_IOS) install(DIRECTORY "${CMAKE_BINARY_DIR}/lib/\$ENV{CONFIGURATION}/" DESTINATION lib${LIB_SUFFIX}) endif() - # since the iOS libraries are built as static, we must install the SFML dependencies - # too so that the end user can easily link them to its final application - if(SFML_BUILD_GRAPHICS) - install(FILES extlibs/libs-ios/libfreetype.a extlibs/libs-ios/libjpeg.a DESTINATION lib) + if(NOT SFML_USE_SYSTEM_DEPS) + # since the iOS libraries are built as static, we must install the SFML dependencies + # too so that the end user can easily link them to its final application + if(SFML_BUILD_GRAPHICS) + install(FILES extlibs/libs-ios/libfreetype.a DESTINATION lib) + endif() endif() elseif(SFML_OS_ANDROID) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6f71bbb4..ce2b66c1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,6 +2,6 @@ You would like to see a feature implemented or a bug fixed in SFML? Great! Contributions to SFML are highly appreciated, be it in the form of general ideas, concrete suggestions or code patches. -[A few guiding rules have been set up on the SFML website](http://www.sfml-dev.org/contribute.php) that you should be aware of before opening an Issue or Pull Request. They will help you focus on the important stuff and prevent you from losing (y)our time with requests that are out of SFML's scope, known issues, and so on. +[A few guiding rules have been set up on the SFML website](https://www.sfml-dev.org/contribute.php) that you should be aware of before opening an Issue or Pull Request. They will help you focus on the important stuff and prevent you from losing (y)our time with requests that are out of SFML's scope, known issues, and so on. Those rules cover the general scope defined for this project, a coding style, and a precise procedure to report bugs or suggest new features. diff --git a/changelog.md b/changelog.md index d8103292..6174a84f 100644 --- a/changelog.md +++ b/changelog.md @@ -1,8 +1,174 @@ # Changelog +## SFML 2.5.1 + +Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.5.1 + +### General + + * Various CMake fixes (#1414, #1416, #1436, #1439, #1467, #1470) + * Fixed the installation of pkg-config files (#1466) + * Fixed two conversion warnings (#1454) + * [Android] Fixes all symbols in sfml-main are hidden (#1457, #1460) + * [Android] Fixed some `#define` flag problem (#1458) + * [Android] Fix deadlock in main cleanup (#1265) + * [iOS] Modernized toolchain file (#1411) + * [iOS] Check that `` is used (#1412) + * [macOS] Add `-ObjC` flag to fix static linking on macOS (#1485) + +### Window + +**Bugfixes** + + * [iOS] Use default supported rotations when none are specified (#1417) + * [iOS] Fixed autocomplete window overlaps keyboard (#1473, #1482) + * [Linux] Fixed dual monitor issue (#1226, #1238) + * [Linux] Fixed issue where fullscreen window didn't go over task bars on top and left on in Ubuntu (#1224) + * [Linux] Fixed the Unix clipboard implementation causing an abort due to internal data races in Xlib (#1437) + * [macOS] Added additional system cursors (#1401, #1413, #1425) + * [Windows] Fixed swapped colors for custom cursors (#1464, #1465, #1491) + +### Graphics + +**Bugfixes** + + * Fixed a bug in which a `sf::RenderTexture` would not be re-activated after being re-created (#1438) + * Fixed `sf::RenderTextureImplFBO`'s destructor incorrectly triggering deletion of other `sf::RenderTextureImplFBO`'s active FBOs (#1440) + * Fix `sf::RenderWindow::setActive` incorrectly trying to unbind an FBO during deactivation (#1442) + * Fixed `sf::RenderTexture::display()` dereferencing a NULL pointer when being called before `sf::RenderTexture::create()` (#1446) + * Fixed bug in `sf::Text` when applying an outline color/thickness (#1176) + * Squash duplicated `sf::Font` glyphs to single chars (#1461) + * Fixed two issues with glyph sub-pixel positioning (#1452) + * Reduced context locking & unlocking while creating textures (#1459) + * Fixed the error message when the wrong bitmap font size is selected (#1456, #1474, #1492) + +### Audio + +**Bugfixes** + + * Fixed performance issue with reading WAV files (#1450) + +## SFML 2.5.0 + +Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.5.0 + +### General + + * Replaced FindSFML.cmake with SFMLConfig.cmake (#1335) + * Markdown'd and updated readme, changelog, contributing and license files (#1196, #1368, #1317) + * Improve packaging support (#1173) + * Added Tagfile generation and search (#1327) + * Added CMake variables to select the modules to be built (#798, #800) + * Do not install extlibs if `SFML_USE_SYSTEM_DEPS` is true (#1236, #1237) + * Fixed various type conversion/comparison warnings (#1325) + * [Android] Increased minimum API version to 14 (#1362) + * [Android] Removed custom toolchain and added support for the newest NDK version and Gradle (#1350, #1393) + * [iOS] Updated the binary libs from exlibs/libs-ios (#1207, #1209) + * [iOS] Use a CMake toolchain file for iOS build (#1268, #1269) + * [iOS] Install extlibs if needed (#1348) + * [iOS] Drop 32 bit support (#1374) + * [iOS] Force correct iOS architecture for cmake (#1373, #1377) + * [iOS] Added iOS example (#1378) + * [macOS] Fixed launch of cocoa examples (#1334) + * [macOS] Improved application signing process (#1020, #1036, #1194) + * [macOS] Improved CMake script (#1215, #1371) + * [macOS] Use `-stdlib=libc++` (#1361) + * [OpenBSD] Added support for OpenBSD (#1330) + +### System + +**Bugfixes** + + * Added protected destructor to `sf::NonCopyable` to prevent possible resource leaks (#1125, #1161) + * Fixed crash when `sf::Clock` is constructed in a global scope (#1258) + +### Window + +**Features** + + * Implemented Cursor API (#269, #784, #827) + * Implemented Clipboard API (#715, #1204, #1221) + * Renamed a few key codes (#1395) + * Added joystick example (#1363) + * [Windows] Added support for interfacing with joysticks via DirectInput when it is available (#1251, #1326) + * [Windows] Fix discrete GPU preference symbols being exported from the wrong place (#1192, #1406) + +**Bugfixes** + + * [Android] Return correct key code for delete/backspace (#1309, #1362) + * [iOS] Don't need to find vorbisfile or vorbisenc (#1347) + * [Linux] Fixed `sf::Window::getPosition()` returning incorrect position because of differences in window managers (#1228, #1266) + * [Linux] Fix X11 key repeat handling not filtering out events from other windows (#1223, #1230, #1291) + * [Linux] Restore fullscreen of a non-visible window (#1339) + * [macOS] Fixed window menu not working (#1091, #1180, #1193) + * [macOS] Fixed crash with application messing hardware detection e.g. TeamViewer (#1323) + * [macOS] Added support for (some) Hat/POV axis (#1248) + * [Windows] Prevent uninitialized read by zeroing memory (#1264) + * [Windows] Fixed modifier keys handling (#1357) + +### Graphics + +**Features** + + * Implemented additional line spacing and letter spacing in `sf::Text` (#928, #1366) + * Added `sf::VertexBuffer` class (#1308) + * Added GPU local texture copying support, allowing performance optimizations and texture swapping (#1119, #1319, #1320) + * Optimize performance by skipping `glTexCoordPointer()` call if not needed (#1015) + * Generate shape outline vertices only if necessary (#925, #1356) + * Removed dependency to libjpeg, stb_image_write now supports writing JPEG files (#1278, #1279) + * Enable comparing `sf::Transform` and optimize resetting OpenGL back to the identity matrix (#1298) + * Added missing `setActive()` virtual method to `sf::RenderTarget` (#1157) + * Updated stb_image to v2.16 and stb_image_write to v1.07 (#1270) + * Added `sf::RenderTexture` stencil and multisampling support (#1274, #1285) + * Added example demonstrating `sf::VertexBuffer`, `sf::Shader` and `sf::Thread` usage (#1352) + * Optimized `sf::RenderTexture` performance (#1379) + +**Bugfixes** + + * Properly free memory in `sf::Font::cleanup()` (#1119) + * Fixed memory leak in `sf::Font` (#1216) + * Fix OpenGL texture coordinate pointer not being updated correctly under certain conditions (#1297) + * Fix for broken text when the font is reloaded (#1345) + * Fix memory leak in `sf::Text` (#1233, #1360) + * Fixed strict aliasing punning warning when generating the key of a glyph in Font.cpp (#1187, #1396) + * Fixed OpenGL version string being parsed incorrectly on some platforms (#1249, #1390) + * [macOS] Worked around render target bug (#1132, #1342) + * [Windows] Replaced time-based joystick poll with a hardware event handler (#1179, #1195, #1198, #1199, #1421) + +### Audio + +**Features** + + * Added loop point support to `sf::Music` (#177, #629) + * Added support for the extensible PCM wave file format (#1296) + * [iOS] Enable audio module (#1338) + +**Bugfixes** + + * Fixed inconsistent seek behavior in `sf::SoundStream` (#1118) + * Fixed stack overflow in `sf::SoundStream::fillAndPushBuffer()` (#1154) + * Fixed seeking quirks in the FLAC reader (#966, #1162) + * Allow polymorphism with `sf::SoundSource` (#1185) + * Fixed WAV file writer writing wrong header values (#1280, #1281) + * Small bugfix to argument of `alcCaptureOpenDevice()` (#1304, #1305) + * [iOS] Find OpenAL correctly (#1263, #1376) + * [Windows] Updated OpenAL Soft to 1.18.1 fixing crashes (#1247, #1260) + +### Network + +**Features** + + * Add append/overwrite parameter to Ftp::upload (#1072, #1399) + +**Bugfixes** + + * Fixed wrong condition for building network support (#1253) + * Changed TCP listen backlog from 0 to SOMAXCONN (#1369, #1407) + * Fixed socket reuse not conforming to documentation (#1346, #1408) + ## SFML 2.4.2 -Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.4.2 +Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.4.2 ### System @@ -16,7 +182,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.4.2 * Fixed bug where TransientContextLock would hang (#1165, #1172) * [Linux] Fixed GLX extensions being loaded too late (#1183) - * [Linux] Fix wrong types passed to XChangeProperty (#1168 #1171) + * [Linux] Fix wrong types passed to XChangeProperty (#1168, #1171) * [Windows] Make context disabling via wglMakeCurrent more tolerant of broken drivers (#1186) ### Graphics @@ -27,7 +193,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.4.2 ## SFML 2.4.1 -Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.4.1 +Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.4.1 ### General @@ -47,7 +213,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.4.1 * [Linux] Fixed an issue where GNOME flags window unresponsive (#1089, #1138) * [Linux] Fixed leak of XVisualInfo objects during GlxContext creation (#1135) * [Linux] Fixed possible hang when setting visibility if external window sources (#1136) - * [OS X] Fixed inconsistency between doc and impl on OS X for the grab feature (#1133, #1148, #1150) + * [macOS] Fixed inconsistency between doc and impl on macOS for the grab feature (#1133, #1148, #1150) * [Windows] Fixed context memory leaks (#1143, #1002) ### Graphics @@ -65,7 +231,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.4.1 ## SFML 2.4.0 -Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.4.0 +Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.4.0 ### General @@ -77,7 +243,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.4.0 * Updated/fixed string comparisons in Config.cmake (#1102) * Added the missing -s postfix for the RelWithDebInfo config (#1014) * [Android] Fixed current Android compilation issues (#1116, #1111, #1079) - * [OS X] Update Xcode template material (#976, #968) + * [macOS] Update Xcode template material (#976, #968) * [Windows] Added support for VS 2015 (#972) * [Windows] Create and install PDB debug symbols alongside binaries (#1037) @@ -119,10 +285,10 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.4.0 * [Android] Accept touch events from "multiple" devices (#954, #953) * [Android] Copy the selected EGL context's settings to SFML (#1039) * [Linux] Fixed modifiers causing sf::Keyboard::Unknown being returned (#1022, #1012) - * [OS X] Improved memory management on OS X (#962, #790) - * [OS X] Fixed crash when resizing a window to a zero-height/width size (#986, #984) - * [OS X] Use the mouse button constant instead of 0 to avoid a compiler error on OSX (#1035) - * [OS X] OS X improvement: warnings + bugfix + refactoring, the lot! (#1042) + * [macOS] Improved memory management on macOS (#962, #790) + * [macOS] Fixed crash when resizing a window to a zero-height/width size (#986, #984) + * [macOS] Use the mouse button constant instead of 0 to avoid a compiler error on macOS (#1035) + * [macOS] macOS improvement: warnings + bugfix + refactoring, the lot! (#1042) ### Graphics @@ -150,7 +316,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.4.0 **Bugfixes** * Added an assignment operator to SoundSource (#864) - * [OS X] Updates OpenAL-soft for OS X to version 1.17.2 (#1057, #900, #1000) + * [macOS] Updates OpenAL-soft for macOS to version 1.17.2 (#1057, #900, #1000) * Fixed a bug where vorbis can't handle large buffers (#1067) * Added support for 24-bit .wav files (#958, #955) * Fixed threading issue in sf::SoundRecorder (#1011) @@ -169,7 +335,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.4.0 ## SFML 2.3.2 -Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.3.2 +Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.3.2 ### General @@ -197,7 +363,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.3.2 ## SFML 2.3.1 -Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.3.1 +Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.3.1 ### Window @@ -225,7 +391,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.3.1 ## SFML 2.3 -Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.3 +Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.3 ### General @@ -241,7 +407,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.3 * Added missing includes in the general headers (#851) * [Android] Updated toolchain file and dependencies (#791) * [Linux] Fixed missing pthread dependency (#794) - * [OS X] Relaxed CMake installation rules regarding framework dependencies (#767) + * [macOS] Relaxed CMake installation rules regarding framework dependencies (#767) ### Deprecated API @@ -264,8 +430,8 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.3 * [iOS] Fixed inconsistency between sf::Touch::getPosition and touch events (#875) * [Linux] Fixed Alt+F4 not getting triggered in window mode (#274) * [Linux] Fixed Unix joystick stuff (#838) - * [OS X] Fixed typo in JoystickImpl.cpp to prevent a crash (#762, #765) - * [OS X] Fixed an issue in InputImpl::getSFOpenGLViewFromSFMLWindow (#782, #792) + * [macOS] Fixed typo in JoystickImpl.cpp to prevent a crash (#762, #765) + * [macOS] Fixed an issue in InputImpl::getSFOpenGLViewFromSFMLWindow (#782, #792) ### Graphics @@ -293,7 +459,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.3 **Bugfixes** * Fixed access violation error in the destructor of sf::AudioDevice (#30, #602) - * [OS X] Fixed threading issue with sf::SoundStream and OpenAL (#541, #831) + * [macOS] Fixed threading issue with sf::SoundStream and OpenAL (#541, #831) ### Network @@ -303,7 +469,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.3 ## SFML 2.2 -Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.2 +Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.2 ### General @@ -319,15 +485,15 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.2 * 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) + * [macOS] Fixed incorrect symlink in freetype.framework (#519) + * [macOS] CMake module for correct dependencies (#548) + * [macOS] Fixed SFML target for Xcode (#595, #596) + * [macOS] Updated implementation, mainly reverting to non-ARC (#601) + * [macOS] Fixed memory leaks and dead store (#615) + * [macOS] Improved event handling and performance (#617) + * [macOS] Reduced memory usage (#672, #698) + * [macOS] macOS 10.10 support (#691, #699) + * [macOS] Improve flexibility of dependencies' locations (#713) * [Windows] Removed the hack that copied external libraries into SFML static libraries (dbf01a7) ### System @@ -352,10 +518,10 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.2 * 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) * [FreeBSD] 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) + * [macOS] Improved integration with menus and dock actions (#11) + * [macOS] Support for OpenGL 3.2 (#84) + * [macOS] Improved fullscreen support (#343) + * [macOS] Added support for retina displays (#353, #388) * [Windows] Removed support for Windows 9x (#469) * [Windows] Fixed typo in Windows keyboard implementation (#516) @@ -368,14 +534,14 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.2 * [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) + * [macOS] Fixed KeyReleased not being fired in fullscreen mode (#465) + * [macOS] Fixed an issue where disconnecting the keyboard would cause a crash (#467) + * [macOS] Fixed unexpected resizing behavior (#468) + * [macOS] Improved resizing windows (#474) + * [macOS] Fixed memory leak with sf::Window::create() (#484) + * [macOS] Fixed menu shortcuts in fullscreen on macOS (#527) + * [macOS] Improved cursor hiding (#703) + * [macOS] 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) @@ -451,7 +617,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.2 ## SFML 2.1 -Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.1 +Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.1 ### General @@ -462,12 +628,12 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.1 **Features** * Now using inotify on Linux to avoid constantly polling joystick connections (#96) - * Add keypad return, equal and period keys support for OS X - * Improved mouse events on OS X regarding fullscreen mode - * Improved mouse events on OS X (#213, #277) - * Improved reactivity of setMousePosition on OS X (#290) - * Added support for right control key on OS X - * Improved TextEntered for OS X (#377) + * Add keypad return, equal and period keys support for macOS + * Improved mouse events on macOS regarding fullscreen mode + * Improved mouse events on macOS (#213, #277) + * Improved reactivity of setMousePosition on macOS (#290) + * Added support for right control key on macOS + * Improved TextEntered for macOS (#377) * Improved the performances of Window::getSize() (the size is now cached) * Added the WM_CLASS property to SFML windows on Linux * Fake resize events are no longer sent when the window is moved, on Linux @@ -480,7 +646,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.1 * Fixed ContextSettings ignored on Linux when creating a window (#35) * Fixed windows bigger than the desktop not appearing on Windows (#215) * Fixed KeyRelease events sometimes not reported on Linux (#404) - * Fixed mouse moved event on OS X when dragging the cursor (#277) + * Fixed mouse moved event on macOS when dragging the cursor (#277) * Fixed KeyRelease event with CMD key pressed (#381) * Fixed taskbar bugs on Windows (#328, #69) * Fixed Window::getPosition() on Linux (#346) @@ -509,7 +675,7 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.1 **Bugfixes** - * Added a workaround for a bug in the OS X implementation of OpenAL (unsupported channel count no properly detected) (#201) + * Added a workaround for a bug in the macOS implementation of OpenAL (unsupported channel count no properly detected) (#201) * Fixed SoundBuffer::loadFromStream reading past the end of the stream (#214) ### Network @@ -527,10 +693,10 @@ Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.1 ## SFML 2.0 -Also available on the website: http://www.sfml-dev.org/changelog.php#sfml-2.0 +Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.0 No changelog available. *Everything changed.* ## Older Releases -See the website for changelogs of older releases: http://www.sfml-dev.org/changelog.php +See the website for changelogs of older releases: https://www.sfml-dev.org/changelog.php diff --git a/cmake/Macros.cmake b/cmake/Macros.cmake index 0f316034..cb0aef3e 100644 --- a/cmake/Macros.cmake +++ b/cmake/Macros.cmake @@ -209,26 +209,50 @@ macro(sfml_add_example target) endmacro() # macro to find packages on the host OS -# this is the same as in the toolchain file, which is here for Nsight Tegra VS -# since it won't use the Android toolchain file -if(CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android") - macro(find_host_package) - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) - set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER) - set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER) - if(CMAKE_HOST_WIN32) - set(WIN32 1) - set(UNIX) - elseif(CMAKE_HOST_APPLE) - set(APPLE 1) - set(UNIX) +# We do not use the custom toolchain anymore, so we need to define +# the macro here +if(SFML_OS_ANDROID) + # macro to find packages on the host OS + macro( find_host_package ) + set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER ) + set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER ) + set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER ) + if( CMAKE_HOST_WIN32 ) + SET( WIN32 1 ) + SET( UNIX ) + elseif( CMAKE_HOST_APPLE ) + SET( APPLE 1 ) + SET( UNIX ) endif() - find_package(${ARGN}) - set(WIN32) - set(APPLE) - set(UNIX 1) - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + find_package( ${ARGN} ) + SET( WIN32 ) + SET( APPLE ) + SET( UNIX 1 ) + set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY ) + set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) + set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) + endmacro() + + + # macro to find programs on the host OS + macro( find_host_program ) + set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER ) + set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER ) + set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER ) + if( CMAKE_HOST_WIN32 ) + SET( WIN32 1 ) + SET( UNIX ) + elseif( CMAKE_HOST_APPLE ) + SET( APPLE 1 ) + SET( UNIX ) + endif() + find_program( ${ARGN} ) + SET( WIN32 ) + SET( APPLE ) + SET( UNIX 1 ) + set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY ) + set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) + set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) endmacro() endif() + diff --git a/cmake/Modules/FindSFML.cmake b/cmake/Modules/FindSFML.cmake index fe84c961..d2ec360b 100644 --- a/cmake/Modules/FindSFML.cmake +++ b/cmake/Modules/FindSFML.cmake @@ -311,10 +311,9 @@ if(SFML_STATIC_LIBRARIES) # find libraries find_sfml_dependency(FREETYPE_LIBRARY "FreeType" freetype) - find_sfml_dependency(JPEG_LIBRARY "libjpeg" jpeg) # update the list - set(SFML_GRAPHICS_DEPENDENCIES ${FREETYPE_LIBRARY} ${JPEG_LIBRARY}) + set(SFML_GRAPHICS_DEPENDENCIES ${FREETYPE_LIBRARY}) set(SFML_DEPENDENCIES ${SFML_GRAPHICS_DEPENDENCIES} ${SFML_DEPENDENCIES}) endif() diff --git a/cmake/toolchains/android.toolchain.cmake b/cmake/toolchains/android.toolchain.cmake index d0fdf005..56e70cba 100644 --- a/cmake/toolchains/android.toolchain.cmake +++ b/cmake/toolchains/android.toolchain.cmake @@ -1555,51 +1555,6 @@ set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY ) set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) - -# macro to find packages on the host OS -macro( find_host_package ) - set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER ) - set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER ) - set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER ) - if( CMAKE_HOST_WIN32 ) - SET( WIN32 1 ) - SET( UNIX ) - elseif( CMAKE_HOST_APPLE ) - SET( APPLE 1 ) - SET( UNIX ) - endif() - find_package( ${ARGN} ) - SET( WIN32 ) - SET( APPLE ) - SET( UNIX 1 ) - set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY ) - set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) - set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) -endmacro() - - -# macro to find programs on the host OS -macro( find_host_program ) - set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER ) - set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER ) - set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER ) - if( CMAKE_HOST_WIN32 ) - SET( WIN32 1 ) - SET( UNIX ) - elseif( CMAKE_HOST_APPLE ) - SET( APPLE 1 ) - SET( UNIX ) - endif() - find_program( ${ARGN} ) - SET( WIN32 ) - SET( APPLE ) - SET( UNIX 1 ) - set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY ) - set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) - set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) -endmacro() - - # export toolchain settings for the try_compile() command if( NOT _CMAKE_IN_TRY_COMPILE ) set( __toolchain_config "") @@ -1715,4 +1670,4 @@ endif() # ANDROID_DEFAULT_NDK_API_LEVEL_${ARCH} # ANDROID_NDK_SEARCH_PATHS # ANDROID_SUPPORTED_ABIS_${ARCH} -# ANDROID_SUPPORTED_NDK_VERSIONS \ No newline at end of file +# ANDROID_SUPPORTED_NDK_VERSIONS diff --git a/doc/doxyfile.in b/doc/doxyfile.in index 9a44a6aa..fa12dea2 100644 --- a/doc/doxyfile.in +++ b/doc/doxyfile.in @@ -20,7 +20,7 @@ # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all text # before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +# built into libc) for the transcoding. See https://www.gnu.org/software/libiconv # for the list of possible encodings. # The default value is: UTF-8. @@ -295,7 +295,7 @@ EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. +# documentation. See https://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. @@ -328,7 +328,7 @@ BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. @@ -687,7 +687,7 @@ LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. @@ -769,7 +769,7 @@ INPUT = "@DOXYGEN_INPUT_DIR@/include/SFML" \ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# documentation (see: https://www.gnu.org/software/libiconv) for the list of # possible encodings. # The default value is: UTF-8. @@ -967,7 +967,7 @@ SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system -# (see http://www.gnu.org/software/global/global.html). You will need version +# (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: @@ -995,7 +995,7 @@ USE_HTAGS = NO VERBATIM_HEADERS = YES # If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the -# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the +# clang parser (see: https://clang.llvm.org/) for more accurate parsing at the # cost of reduced performance. This can be particularly helpful with template # rich C++ code for which doxygen's built-in parser lacks the necessary type # information. @@ -1137,7 +1137,7 @@ HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the stylesheet and background images according to # this color. Hue is specified as an angle on a colorwheel, see -# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. @@ -1195,12 +1195,12 @@ HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: http://developer.apple.com/tools/xcode/), introduced with +# environment (see: https://developer.apple.com/tools/xcode/), introduced with # OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a # Makefile in the HTML output directory. Running make will produce the docset in # that directory and running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# startup. See https://developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1240,7 +1240,7 @@ DOCSET_PUBLISHER_NAME = SFML # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on # Windows. # # The HTML Help Workshop contains a compiler that can convert all HTML output @@ -1316,7 +1316,7 @@ QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace -# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1324,8 +1324,7 @@ QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- -# folders). +# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1333,23 +1332,21 @@ QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: -# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = @@ -1454,7 +1451,7 @@ FORMULA_FONTSIZE = 10 FORMULA_TRANSPARENT = YES # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering +# https://www.mathjax.org) which uses client side Javascript for the rendering # instead of using prerendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path @@ -1466,7 +1463,7 @@ USE_MATHJAX = NO # When MathJax is enabled you can set the default output format to be used for # the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. +# https://docs.mathjax.org/en/latest/output.html) for more details. # Possible values are: HTML-CSS (which is slower, but has the best # compatibility), NativeMML (i.e. MathML) and SVG. # The default value is: HTML-CSS. @@ -1481,11 +1478,11 @@ MATHJAX_FORMAT = HTML-CSS # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of -# MathJax from http://www.mathjax.org before deployment. -# The default value is: http://cdn.mathjax.org/mathjax/latest. +# MathJax from https://www.mathjax.org before deployment. +# The default value is: https://cdn.mathjax.org/mathjax/latest. # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest +MATHJAX_RELPATH = https://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example @@ -1496,7 +1493,7 @@ MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# (see: https://docs.mathjax.org/en/latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1543,7 +1540,7 @@ SERVER_BASED_SEARCH = NO # # Doxygen ships with an example indexer ( doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). +# Xapian (see: https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1556,7 +1553,7 @@ EXTERNAL_SEARCH = NO # # Doxygen ships with an example indexer ( doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). See the section "External Indexing and +# Xapian (see: https://xapian.org/). See the section "External Indexing and # Searching" for details. # This tag requires that the tag SEARCHENGINE is set to YES. @@ -1729,7 +1726,7 @@ LATEX_SOURCE_CODE = NO # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See -# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +# https://en.wikipedia.org/wiki/BibTeX and \cite for more info. # The default value is: plain. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -2111,7 +2108,7 @@ HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz (see: -# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent +# https://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent # Bell Labs. The other options in this section have no effect if this option is # set to NO # The default value is: NO. diff --git a/doc/footer.html b/doc/footer.html index 0e7569af..c9cd9375 100644 --- a/doc/footer.html +++ b/doc/footer.html @@ -1,7 +1,7 @@