Commit Graph

102 Commits

Author SHA1 Message Date
Jonny Paton
66369645b5 Install extlibs on iOS if needed 2018-02-15 21:04:01 +01:00
Mario Liebisch
806813e937 Android: Removed custom toolchain file
This commit drops the previous custom CMake toolchain file for Android
in favor of CMake's new built-in toolchain for this (CMake >3.7.2).

This makes building SFML for Android a lot simpler and more straight
forward, working almost as smooth as other platforms.

To configure your build directory, all you have to do is defining just a
few variables the first time you invoke CMake.

**Required Variables**

* `CMAKE_SYSTEM_NAME` must be `Android`, so CMake knows we actually want
  to cross-compile.
* `CMAKE_ANDROID_NDK` must point to the NDK's installation directory,
  e.g. `/usr/android/ndk` or `c:/android/ndk`.

**Recommended Variables**
* `CMAKE_ANDROID_STL_TYPE` defines the STL implementation to be used.
  You should use `c++_shared`, although others might work.

**Optional Variables**
* `CMAKE_SYSTEM_VERSION` can be set to pick a specific SDK version other
  than the latest.
* `CMAKE_ANDROID_ARCH_ABI` defines the target architecture and ABI, for
  example `armeabi` or `armeabi-v7a`.

Based on your system, you might want to enforce a specific generator to
prevent issues, e.g. using `MinGW Makefiles`.
2018-02-11 20:15:54 +01:00
Alexander Weinrauch
0da25a0b87 Added support for the newest NDK version 2018-02-11 20:15:54 +01:00
Maximilian Wagenbach
989367e345 Turned the header image in readme.md into a link.
Updated all links to use https (tested).
2018-02-10 17:12:54 +01:00
Ceylo
511c16329e Use -stdlib=libc++ on macOS 2018-02-10 14:42:51 +01:00
Jonny Paton
30ec3edd8b Enable audio component build on iOS 2018-01-04 14:23:49 -08:00
Laurent Gomila
2aa70def6f Removed dependency to libjpeg, stb_image_write now supports writing JPEG files 2017-09-28 19:55:10 +02:00
Marco Antognini
5a4b592bbc Improve cmake script for macOS
Add default minimum target to 10.7.

The CMAKE_OSX_* variables need to be defined before the project or the
CMAKE_CXX_STANDARD gets ignored. They also need to be set with FORCE.
2017-07-26 00:47:24 +02:00
Innokentij Alajcev
49776092d1 Fixed wrong condition for building network support 2017-07-19 08:40:34 +04:00
Marty Plummer
bd479c4454 Do not install extlibs if SFML_USE_SYSTEM_DEPS is true.
Signed-off-by: Marty Plummer <ntzrmtthihu777@gmail.com>
2017-06-02 05:04:01 -05:00
Mario Liebisch
0b2ac85f11 Added CMake variables to select the modules to be built
This addresses issue #798.
2017-04-04 13:43:49 +02:00
Stefan Schindler
858c9ce924 Markdown'd readme, changelog, contributing and license files. 2017-03-22 02:40:16 +01:00
jonathan.r.paton@googlemail.com
4595562de4 only set policy CMP0042 if cmake version > 3.0 2017-03-22 02:00:44 +01:00
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