Commit Graph

54 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
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
Lukas Dürrenberger
1217699fe0 Added the missing -s postfix for the RelWithDebInfo config. 2015-12-31 11:13:58 +01:00
Lukas Dürrenberger
23cc8cfe3f Only link sfml-main for the GUI examples in release mode. 2015-03-26 10:23:28 +01:00
Lukas Dürrenberger
bbfa3d5a76 Changed the SOVERSION to major.minor. 2015-03-12 11:06:33 +01:00
Oleh Prypin
01d5d1b463 Replaced non-ASCII symbols with equivalents 2015-03-10 02:04:02 +02: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
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
Lukas Dürrenberger
45810a1345 Fixed additional comments and documention spelling mistakes. 2014-11-18 01:02:07 +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
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
Laurent Gomila
a8ab8fb061 Removed unused duplicate code 2014-05-22 22:53:20 +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
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
3872b27569 Reworked the sfml-main module, added Main.hpp, moved the main() internal entry point for iOS from sfml-window to sfml-main 2014-04-20 12:53:17 +02:00
Laurent Gomila
4bd1a66915 Removed a copy of the sfml_add_example CMake macro, which was duplicated by accident in the big Android commit 2014-04-20 12:53:12 +02:00
Laurent Gomila
239921b456 [iOS] Improved support for examples, removed the need for a toolchain file 2014-04-20 12:53:04 +02:00
Laurent Gomila
4e8e1629d1 Adapted the examples for iOS (WIP) 2014-04-20 12:52:10 +02:00
Jonathan De Wachter
63bbe2c91e Added the Android port 2014-04-20 12:52:04 +02:00
Laurent Gomila
e20ff86330 [iOS] Adjusted the code and build files to use Automatic Reference Counting 2014-04-20 12:48:04 +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
Lukas Dürrenberger
004c12cfd2 Changed VS version to MSVC version and added support for VS 2013 and TDM compilers. 2013-10-15 16:15:41 +02:00
Laurent Gomila
9b0ed300b5 Made compiler and OS variable names much clearer in CMake files 2013-10-09 08:01:10 +02:00
Laurent Gomila
c697623689 Replaced the custom sfml_parse_arguments CMake macro with the standard equivalent cmake_parse_arguments 2013-08-08 18:01:42 +02:00
Laurent Gomila
86897a8347 Changed the install rules so that examples' source code is included in the final distribution 2013-04-06 10:20:58 +02:00
Laurent Gomila
ef78b6d0f3 Organized projects into folders, for IDEs that support it (e.g. Visual Studio) 2013-02-25 19:17:46 +01:00
Laurent Gomila
a40ef79a18 Added source file groups in CMake files (for better organization of sources when opening SFML projects in IDEs) 2013-02-21 20:25:11 +01:00
Baruch
f784fe4c07 fix for static builds with mingw-w64 compilers - part 2 2012-05-01 23:01:56 +03:00
Laurent Gomila
459bc291f5 Added the SFML_ prefix on all the CMake variables specific to SFML 2012-04-18 19:07:47 +02:00
Laurent Gomila
a1522d475c Examples now compile without linker errors when building statically on Linux 2012-02-15 22:41:42 +01:00
Laurent Gomila
e3d75f6d6a Fixed "-s" suffix missing for static libs in MinSizeRel configuration 2012-02-08 19:31:55 +01:00
Laurent Gomila
906a62df0f Each module now has its own export macro, which solves the "unresolved symbol" error with sf::Time::Zero 2012-01-21 10:34:17 +01:00
Laurent Gomila
aa633f6f12 Added support for CLang 2011-12-28 22:20:15 +01:00
Laurent Gomila
4107505a05 Made CMake files compatible with VC++ 2011, and other minor improvements 2011-12-28 21:39:23 +01:00
Laurent Gomila
eed112d9ea SFML shared libraries now use ELF visibility on Unixes with gcc >= 4 2011-10-16 19:30:37 +02:00
Marco Antognini
d6c1fda5bd fixed creation of SFML.framework 2011-09-09 15:24:09 +02:00
Marco Antognini
c942e576c1 fixed creation of frameworks and a minor error in xcode 4 template script 2011-09-08 12:06:09 +02:00
Marco Antognini
e09db44906 Cmake now is able to build SFML libraries as frameworks (closes #12)
Cmake can now automatically install the Xcode templates
2011-08-20 12:22:39 +02:00
Marco Antognini
6b98053101 Improved OSX/Cmake and dylibs' execution path 2011-08-08 23:41:30 +02:00
Laurent Gomila
6383f0c800 Minor change in shared library naming on Linux 2011-05-16 08:00:30 +02:00
Laurent Gomila
effc31327b Changed the FORCE_STATIC_VCRT to STATIC_STD_LIBS, made it available for MinGW/gcc and set it to TRUE by default 2011-05-16 00:00:00 +02:00
LaurentGom
7559f0669f Fixed errors (missing double-quotes) in VS 2010 project files generated by CMake, for static build
git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1688 4e206d99-4929-0410-ac5d-dfc041789085
2010-11-20 22:30:14 +00:00
LaurentGom
e895d6516b Fixed double quotes in VS 2010 projects generated by CMake for static builds
git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1625 4e206d99-4929-0410-ac5d-dfc041789085
2010-11-07 19:51:33 +00:00
LaurentGom
4f09703b55 Fixed install path for libraries in CMake makefiles
git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1621 4e206d99-4929-0410-ac5d-dfc041789085
2010-11-07 16:50:00 +00:00
LaurentGom
7c20d648fc Changed the naming rules for SFML 2 libraries: the major version number no longer appears in them, except for Windows DLLs (not in import libraries)
git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1609 4e206d99-4929-0410-ac5d-dfc041789085
2010-11-04 21:21:32 +00:00