diff --git a/index.html b/index.html index de18b235..1b3081dd 100644 --- a/index.html +++ b/index.html @@ -2146,6 +2146,11 @@ USE_OSGPLUGIN(<plugin2>) 2.0.11 SDL_ttf + + sfml + 2.0 + SFML + smpeg 0.4.5+cvs20030824 diff --git a/src/sfml-1-disable-merge-libs.patch b/src/sfml-1-disable-merge-libs.patch new file mode 100644 index 00000000..41b4cb57 --- /dev/null +++ b/src/sfml-1-disable-merge-libs.patch @@ -0,0 +1,32 @@ +This file is part of MXE. +See index.html for further information. + +diff -urN SFML-2.0.orig/cmake/Macros.cmake SFML-2.0/cmake/Macros.cmake +--- SFML-2.0.orig/cmake/Macros.cmake 2013-04-06 10:17:56.000000000 -0300 ++++ SFML-2.0/cmake/Macros.cmake 2013-06-24 09:45:56.694654704 -0300 +@@ -11,25 +11,6 @@ + # out-of-the-box (CMake forwards the dependencies automatically) + macro(sfml_static_add_libraries target) + if(WINDOWS AND COMPILER_GCC) +- # Windows - gcc +- foreach(lib ${ARGN}) +- if(NOT ${lib} MATCHES ".*/.*") +- string(REGEX REPLACE "(.*)/bin/.*\\.exe" "\\1" STANDARD_LIBS_PATH "${CMAKE_CXX_COMPILER}") +- if(COMPILER_GCC_W64) +- set(lib "${STANDARD_LIBS_PATH}/${GCC_MACHINE}/lib/lib${lib}.a") +- else() +- set(lib "${STANDARD_LIBS_PATH}/lib/lib${lib}.a") +- endif() +- endif() +- string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE) +- get_target_property(TARGET_FILENAME ${target} ${BUILD_TYPE}_LOCATION) +- add_custom_command(TARGET ${target} +- POST_BUILD +- COMMAND ${CMAKE_AR} x ${lib} +- COMMAND ${CMAKE_AR} rcs ${TARGET_FILENAME} *.o +- COMMAND del *.o /f /q +- VERBATIM) +- endforeach() + elseif(MSVC) + # Visual C++ + set(LIBRARIES "") diff --git a/src/sfml-2-static-openal.patch b/src/sfml-2-static-openal.patch new file mode 100644 index 00000000..ecbf7f03 --- /dev/null +++ b/src/sfml-2-static-openal.patch @@ -0,0 +1,14 @@ +This file is part of MXE. +See index.html for further information. + +diff -urN SFML-2.0.orig/CMakeLists.txt SFML-2.0/CMakeLists.txt +--- SFML-2.0.orig/CMakeLists.txt 2013-02-25 20:16:00.000000000 -0300 ++++ SFML-2.0/CMakeLists.txt 2013-06-24 10:39:42.514647661 -0300 +@@ -51,6 +51,7 @@ + # define SFML_STATIC if the build type is not set to 'shared' + if(NOT BUILD_SHARED_LIBS) + add_definitions(-DSFML_STATIC) ++ add_definitions(-DAL_LIBTYPE_STATIC) + endif() + + # remove SL security warnings with Visual C++ diff --git a/src/sfml-3-remove-dirty-installs.patch b/src/sfml-3-remove-dirty-installs.patch new file mode 100644 index 00000000..d8eb32e4 --- /dev/null +++ b/src/sfml-3-remove-dirty-installs.patch @@ -0,0 +1,25 @@ +This file is part of MXE. +See index.html for further information. + +diff -urN SFML-2.0.orig/CMakeLists.txt SFML-2.0/CMakeLists.txt +--- SFML-2.0.orig/CMakeLists.txt 2013-06-24 10:56:39.114645000 -0300 ++++ SFML-2.0/CMakeLists.txt 2013-06-24 10:58:33.294645192 -0300 +@@ -187,18 +187,7 @@ + COMPONENT devel) + endif() + +-install(FILES cmake/Modules/FindSFML.cmake DESTINATION ${INSTALL_MISC_DIR}/cmake/Modules) +-install(FILES license.txt DESTINATION ${INSTALL_MISC_DIR}) +-install(FILES readme.txt DESTINATION ${INSTALL_MISC_DIR}) +- + if(WINDOWS) +- if(ARCH_32BITS) +- install(FILES extlibs/bin/x86/libsndfile-1.dll DESTINATION bin) +- install(FILES extlibs/bin/x86/openal32.dll DESTINATION bin) +- elseif(ARCH_64BITS) +- install(FILES extlibs/bin/x64/libsndfile-1.dll DESTINATION bin) +- install(FILES extlibs/bin/x64/openal32.dll DESTINATION bin) +- endif() + elseif(MACOSX) + install(DIRECTORY extlibs/libs-osx/Frameworks/sndfile.framework DESTINATION ${CMAKE_INSTALL_FRAMEWORK_PREFIX}) + install(DIRECTORY extlibs/libs-osx/Frameworks/freetype.framework DESTINATION ${CMAKE_INSTALL_FRAMEWORK_PREFIX}) diff --git a/src/sfml-test.cpp b/src/sfml-test.cpp new file mode 100644 index 00000000..5c08538d --- /dev/null +++ b/src/sfml-test.cpp @@ -0,0 +1,46 @@ +/* + * This file is part of MXE. + * See index.html for further information. + */ + +#include +#include +#include + +using namespace sf; + +int main() +{ + // Create the main window + RenderWindow window(VideoMode(800, 600), "SFML window"); + + Music music; + Texture texture; + Font font; + Text text; + TcpSocket socket; + + CircleShape shape(200); + shape.setPosition(200, 100); + shape.setFillColor(Color::Red); + + while (window.isOpen()) + { + // Process events + Event event; + while (window.pollEvent(event)) + { + // Close window : exit + if (event.type == Event::Closed) + window.close(); + } + // Clear screen + window.clear(); + // Draw the sprite + window.draw(shape); + // Update the window + window.display(); + } + + return 0; +} diff --git a/src/sfml.mk b/src/sfml.mk new file mode 100644 index 00000000..04a2bf83 --- /dev/null +++ b/src/sfml.mk @@ -0,0 +1,34 @@ +# This file is part of MXE. +# See index.html for further information. + +PKG := sfml +$(PKG)_IGNORE := +$(PKG)_CHECKSUM := ff8cf290f49e1a1d8517a4a344e9214139da462f +$(PKG)_SUBDIR := SFML-$($(PKG)_VERSION) +$(PKG)_FILE := SFML-$($(PKG)_VERSION)-sources.zip +$(PKG)_URL := http://sfml-dev.org/download/sfml/$($(PKG)_VERSION)/$($(PKG)_FILE) +$(PKG)_DEPS := gcc freetype glew jpeg openal libsndfile + +define $(PKG)_UPDATE + $(WGET) -q -O- 'http://www.sfml-dev.org/download.php' | \ + grep 'download/sfml/' | \ + $(SED) -n 's,.*\([0-9.]\+\).*,\1,p' | \ + head -1 +endef + +define $(PKG)_BUILD + mkdir '$(1)/build' + cd '$(1)/build' && cmake .. \ + -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' + + $(MAKE) -C '$(1)/build' -j '$(JOBS)' install VERBOSE=1 + + '$(TARGET)-g++' \ + -W -Wall -Werror \ + -DSFML_STATIC -DAL_LIBTYPE_STATIC \ + '$(2).cpp' -o '$(PREFIX)/$(TARGET)/bin/test-sfml.exe' \ + -lsfml-audio-s -lsfml-network-s -lsfml-graphics-s -lsfml-window-s -lsfml-system-s \ + -lGLEW -lopengl32 -lgdi32 -lOpenAL32 -lwinmm -luuid -lole32 -ljpeg \ + -lsndfile -lws2_32 -lfreetype -lFLAC -lvorbisenc -lvorbis -logg -lm -lpng -lz -lbz2 + +endef