Commit Graph

89 Commits

Author SHA1 Message Date
Rafael Kitover
5fe5e5d6d7 packaging support improvements
This grew out of my work creating an sfml port for macports, but should
be helpful for package maintainers of various distributions:

* add an SFML_USE_SYSTEM_DEPS option to ignore everything in extlibs/
  except for headers/stb_image, and use the system versions

* install pkg-config files if a pkg-config program is found
  and either lib/pkgconfig or libdata/pkgconfig exists under the
  INSTALL_PREFIX, or the SFML_INSTALL_PKGCONFIG_FILES flag is set
  explicitly

* install pkg-config files for static libs too, add the necessary
  Requires.private and Libs.private entries to the .pc files to support
  static linking

* on OS X, honor all INSTALL_NAME and RPATH related cmake variables and
  only set the INSTALL_NAME_DIR to "@rpath" if none of them is set, this
  preserves the default behavior of using @rpath but also allows
  overriding by the usual cmake mechanisms
2017-02-28 10:03:14 +01:00
Lukas Dürrenberger
e4ae4f9cc3 Increased SFML's version number and updated the changelogs. 2017-02-10 15:18:20 +01:00
Lukas Dürrenberger
67ef694443 Incremented SFML version number and added changes to the changelog. 2016-11-04 10:43:50 +01:00
Mario Liebisch
95828a85a2 Added some simple messaging when trying to build under Cygwin 2016-10-04 09:33:15 +02:00
Marco Antognini
a43be42999 Bump version to 2.4.0 2016-08-06 19:00:02 +02:00
Mario Liebisch
3a2e176e59 Android: Readded support for libc++ and use it as the standard STL 2016-07-23 14:35:10 +02:00
Mario Liebisch
757094a25b Fixed current Android compilation issues
* Updated the Android toolchain file to support NDKs up to the latest release (r12b; based on https://github.com/gongminmin/android-cmake).
* Fixed missing sRGB extension defines - also SFML once again compiles for older target API levels not having the sRGB extensions (fixes #1079, supersedes #1085).
* Changed SFML's default STL runtime to `stlport_shared`, since `c++_shared` is no longer supported.
2016-07-21 10:42:45 +02:00
Marco Antognini
845c684ec8 Remove support for 32-bit on OS X
NOTE: external libraries are not updated in this commit but don't expect update to contain 32-bit symbols from now on.
2016-04-14 12:26:50 +02:00
Jan Haller
77609e166a Added SFML_GENERATE_PDB CMake option; check CMake version dynamically 2016-03-01 17:14:21 +01:00
Jan Haller
2bd897c513 Create and install PDB debug symbols alongside binaries 2016-03-01 17:14:20 +01:00
Jan Haller
9c5c750e60 Added new methods to set uniforms in sf::Shader
Implements a new design for the shader uniform API.
* Added Shader::setUniform() and Shader::setUniformArray() overloads for the following types:
  -> scalars: float, int, bool
  -> vectors: 2D, 3D, 4D
  -> matrices: 3x3, 4x4
  -> arrays of basic types
  -> samplers (sf::Texture)
  -> conversions for SFML types (sf::Transform, sf::Color)
* Added sf::Glsl namespace with GLSL-equivalent types
* Deprecated Shader::setParameter() overloads

Other related changes:
* Refactored sf::Shader internals to avoid code duplication
* Improved documentation
* Added SFML_DEPRECATED macro to Doxyfile
* Defined _SCL_SECURE_NO_WARNINGS to disable std::copy() warnings on MSVC
2015-10-21 10:29:07 +02:00
Lukas Dürrenberger
6b9781475d Added support for VS 2015. 2015-09-30 08:32:30 +02:00
Lukas Dürrenberger
01d72438de Increased version to 2.3.2 and add changes to changelog. 2015-08-24 18:01:06 +02:00
Lukas Dürrenberger
b735777c4a Increased version to 2.3.1. 2015-06-27 13:40:35 +02:00
Lukas Dürrenberger
80214d1cb9 Increased version to 2.3, updated the changelog and license and added Mario to the readme.txt. 2015-05-03 21:53:53 +02:00
binary1248
e80bf0ba92 Fix whitespace: Convert tabs to spaces and remove trailing whitespace. 2015-04-15 01:53:43 +02:00
Ceylo
ce16554763 SFML#541 Use openal-soft 1.16 as default OpenAL framework on OS X instead of the system's one 2015-03-25 22:47:39 +01:00
Lukas Dürrenberger
d53338298a Added the FindFreetype.cmake CMake module, set the minimum require CMake version to 2.8.3 and fixed the paths to the FreeType headers. 2015-03-21 10:30:31 +01:00
Oleh Prypin
01d5d1b463 Replaced non-ASCII symbols with equivalents 2015-03-10 02:04:02 +02:00
Mario Liebisch
f17ea5872b Removed last references to libsndfile 2015-03-04 09:36:24 +01:00
Marco Antognini
e22bb627c7 Updated Xcode templates
- The installation paths are no longer hard coded; cmake now configures them so that Frameworks and libs can be installed somewhere else.
- No longer copy sndfile.framework but instead copy the new dependencies of the audio module.
- No longer copy .DS_Store to the install directory.
2015-03-04 09:33:08 +01:00
Marco Antognini
599a16b1f2 Added OS X frameworks: ogg, vorbis, vorbisfile, vorbisenc and flac
- Updated CMake installation script
 - The build script for the frameworks is available here: https://gist.github.com/mantognini/05460d9b6a8a272ed188
2015-03-04 09:33:08 +01:00
Mario Liebisch
34692d5a39 Android: Updated the toolchain file and CMake scripts
* Replaced the toolchain file with a new version based on [zuhowei's fork](https://github.com/zhuowei/android-cmake), which enables x64 builds as well as support for the latest NDK. This breaks compatibility with old build directories.
* Removed the STL dependency from **sfml-activity** rather than relying on *some* implementation implicitly linked by default.
* Deleted *project.properties*, which wasn't supposed to be part of the repository code. You have to use the Android SDK to recreate it (`android update project --path to/your/example --target 1 --name SFML-Example`).
* Made it possible to select a STL implementation to be used (default: `c++_shared`). Keep in mind that not all available configurations are necessarily compatible with SFML.
* Fixed linker flags to be compatible with Nvidia's Nsight Tegra for Visual Studio.
* It is now possible to compile the Android version using Nvidia's Nsight Tegra for Visual Studio (requires up-to-date CMake and `CMAKE_SFML_SYSTEM` to be set to `Android`; keep in mind that this is still experimental and requires further CMake updates).
* Updated and renamed some Android specific CMake variables.
* Made `armeabi-v7a` the default ABI for Android builds.
2015-03-04 09:05:22 +01:00
Marco Antognini
9f2aecf9cf Relaxed cmake installation rules regarding OS X framework dependencies
No longer install sndfile and/or freetype frameworks if SFML is built libraries not from the extlibs folder.
Related to #620 and Homebrew/homebrew#35479

Xcode templates are not updated yet to reflect that change since it involve toying with `install_name_tool` and is quite complex.
2015-02-12 12:17:04 +01:00
Lukas Dürrenberger
1c46ec7c37 Updated the version to 2.2, added support for patch versions and added the changelog.txt 2014-12-04 16:09:54 +01:00
Marco Antognini
ba1488ec97 Improve flexibility of dependencies locations on OS X
- Replaced @executable_path by @rpath for more flexibility
 - Updated freetype and sndfile libs as follow:

    install_name_tool -id "@rpath/../Frameworks/freetype.framework/Versions/A/freetype" freetype
    install_name_tool -id "@rpath/../Frameworks/sndfile.framework/Versions/A/sndfile" sndfile
2014-10-07 10:46:05 +02:00
Stefan Schindler
f24ca9a840 Source code changes.
* Changed newlines to \n.
* Removed whitespace before colons.
* Fixed several alignments.
2014-10-06 01:18:47 +02:00
Stefan Schindler
e157e7a7a8 Re-enabled RPATH feature.
RPATH is especially useful when running debug builds for testing on *nix
operating systems, because the binaries (e.g. examples) include library
runtime path information. This allows you to skip installing SFML to the
system or adjusting PATH variables/ld config.
2014-08-27 08:11:07 +02:00
Marco Antognini
7ae381533e Improved CMake script
* Instead of configuring Xcode templates directly to /Library the files are first saved in CMAKE_CURRENT_BINARY_DIR
 * This avoid running CMake as root on some systems
2014-05-23 09:52:18 +02:00
Marco Antognini
6c802952fb Added config of Xcode templates according to CMAKE_OSX_ARCHITECTURES 2014-05-23 09:52:18 +02:00
Marco Antognini
ea0364d568 Renamed INSTALL_XCODE4_TEMPLATES to INSTALL_XCODE_TEMPLATES
Templates are compatible with versions 4 and 5 of Xcode.
2014-05-23 09:52:18 +02:00
Marco Antognini
2d08ed684b Removed unnecessary check in cmake regarding the deployment target
* Setting CMAKE_OSX_DEPLOYMENT_TARGET to something implies setting CMAKE_OSX_SYSROOT too
 * The default values are enough for most users
 * If someone is trying to compile SFML with 10.6 SDK it will simply fail later anyway
2014-05-23 09:52:18 +02:00
Marco Antognini
b9f5f19f7c Reverted OS X implementation to non-ARC
* Apparently, there were some leaks not reported as such
 * Support for 32 bits computer is restored
 * Fix memory leak in sfStringToNSString (related to #484)
 * Unapply context when closing the window, freeing memory

The following commits are related to ARC modifications:

 * 42f6e83dfb
 * 6edc4b9518
 * f6c94451fb
 * 324d4a18e7
 * 0d47056132

Commit ac28902b57 is the last one before the introduction of ARC.
2014-05-23 09:52:17 +02:00
Lucas SOLTIC
2e09dd225b Fix build of the SFML target on OS X with Xcode 2014-05-13 00:21:39 +02:00
Dmitry Marakasov
27eadf2a7c Properly handle pkgconfig files on FreeBSD 2014-04-25 17:54:11 +04:00
Marco Antognini
42f6e83dfb Improved cmake warning message
Related to #572
2014-04-20 21:45:22 +02:00
Marco Antognini
6edc4b9518 Improved cmake script: add OS X specific options only on Mac platform 2014-04-20 21:32:05 +02:00
Jonathan De Wachter
565bc69a4e Uniformized the way CMake find and link against external libraries 2014-04-20 12:57:58 +02:00
Jonathan De Wachter
bc46dfb8f5 [Android] Various adjustements 2014-04-20 12:57:11 +02:00
Jonathan De Wachter
f60ab60263 Added SFML_OS_ prefix to IOS and ANDROID variables 2014-04-20 12:57:02 +02:00
Jonathan De Wachter
cc0d982f72 [Android] Wrote a native activity acting as a bootstrap
A current limitation prevents one library from depending on shared libraries.
As we have legal issues here (LGPL wants us to use shared libs of OpenAL-Soft and libsndfile), we're forced to use this homemade native activity which will manually load our shared libraries.
2014-04-20 12:56:42 +02:00
Jonathan De Wachter
60894d1c1a [Android] Rewrote CMake scripts to compile SFML with our new toolchain 2014-04-20 12:56:40 +02:00
Laurent Gomila
ea3a29f150 [iOS] Added install rules to work around a CMake bug that prevented SFML libraries to be installed 2014-04-20 12:53:25 +02:00
Laurent Gomila
c35b48bcea [iOS] Removed support for examples, it was too much trouble and not as robust as true iOS App Xcode projects 2014-04-20 12:53:22 +02:00
Laurent Gomila
ca29498653 [iOS] Removed the install rule of the deleted ios.cmake toolchain file 2014-04-20 12:53:07 +02:00
Jonathan De Wachter
63bbe2c91e Added the Android port 2014-04-20 12:52:04 +02:00
Laurent
e5ee38fc26 Added the iOS port 2014-04-20 12:48:00 +02:00
Marco Antognini
19012c66ea Updated Xcode templates and cmake script
What's new in the templates:
 - Removed support for 32 bits and gcc
 - Removed useless code
 - Removed custom warnings settings – let Xcode decide with its default values
 - Set default target version to CMAKE_OSX_DEPLOYMENT_TARGET

What's new in cmake script:
 - Added cmake options for archs and deployment target
 - Added minimum requirements checking
2014-04-15 20:19:12 +02:00
Marco Antognini
0d47056132 Updated Objective-C implementation to use ARC; removed i386 support 2014-04-15 20:19:09 +02:00
Laurent Gomila
dbf01a775b Removed the hack that copied external libs into SFML static libs, users now have to link them explicitly 2013-10-16 20:47:14 +02:00