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