aboutsummaryrefslogtreecommitdiff
path: root/ports/sfml
diff options
context:
space:
mode:
authorAlexander Saprykin <xelfium@gmail.com>2018-05-26 13:27:14 +0200
committerGitHub <noreply@github.com>2018-05-26 13:27:14 +0200
commit4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5 (patch)
treed95c9490352eb73f078d34a33bc4bb44ac9fa48b /ports/sfml
parentfb689bd13dd6ba563a885d71fff1dd2b32a615db (diff)
parent2ac7527b40b1dbeb7856b9f763362c1e139e2ca9 (diff)
downloadvcpkg-4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5.tar.gz
vcpkg-4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5.zip
Merge pull request #1 from Microsoft/master
Update vcpkg from upstream
Diffstat (limited to 'ports/sfml')
-rw-r--r--ports/sfml/CMakeLists.txt122
-rw-r--r--ports/sfml/CONTROL4
-rw-r--r--ports/sfml/portfile.cmake52
3 files changed, 38 insertions, 140 deletions
diff --git a/ports/sfml/CMakeLists.txt b/ports/sfml/CMakeLists.txt
deleted file mode 100644
index e8e16edec..000000000
--- a/ports/sfml/CMakeLists.txt
+++ /dev/null
@@ -1,122 +0,0 @@
-cmake_minimum_required(VERSION 2.6)
-project(SFML)
-
-include_directories(${PROJECT_SOURCE_DIR}/include)
-include_directories(${PROJECT_SOURCE_DIR}/src)
-
-if(NOT BUILD_SHARED_LIBS)
- add_definitions(-DSFML_STATIC)
-endif()
-add_definitions(-DUNICODE -D_UNICODE)
-add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
-
-# import SFML's 'sfml_add_library' macro and find_package utils
-
-set(VERSION_MAJOR 2)
-set(SFML_OS_WINDOWS ON)
-set(SFML_GENERATE_PDB ON)
-include(cmake/macros.cmake)
-set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules/)
-
-# system module
-
-file(GLOB SFML_SYSTEM_SOURCES
- ${PROJECT_SOURCE_DIR}/src/SFML/System/*.cpp
- ${PROJECT_SOURCE_DIR}/src/SFML/System/Win32/*cpp)
-
-sfml_add_library(sfml-system
- SOURCES ${SFML_SYSTEM_SOURCES}
- EXTERNAL_LIBS winmm)
-
-# window module
-
-file(GLOB SFML_WINDOW_SOURCES
- ${PROJECT_SOURCE_DIR}/src/SFML/Window/*.cpp
- ${PROJECT_SOURCE_DIR}/src/SFML/Window/Win32/*cpp)
-
-list(REMOVE_ITEM SFML_WINDOW_SOURCES
- ${PROJECT_SOURCE_DIR}/src/SFML/Window/EGLCheck.cpp
- ${PROJECT_SOURCE_DIR}/src/SFML/Window/EglContext.cpp)
-
-sfml_add_library(sfml-window
- SOURCES ${SFML_WINDOW_SOURCES}
- DEPENDS sfml-system
- EXTERNAL_LIBS winmm gdi32 opengl32)
-
-# network module
-
-file(GLOB SFML_NETWORK_SOURCES
- ${PROJECT_SOURCE_DIR}/src/SFML/Network/*.cpp
- ${PROJECT_SOURCE_DIR}/src/SFML/Network/Win32/*cpp)
-
-sfml_add_library(sfml-network
- SOURCES ${SFML_NETWORK_SOURCES}
- DEPENDS sfml-system
- EXTERNAL_LIBS ws2_32)
-
-# audio module
-
-file(GLOB SFML_AUDIO_SOURCES
- ${PROJECT_SOURCE_DIR}/src/SFML/Audio/*.cpp)
-
-find_package(OpenAL REQUIRED)
-find_package(Vorbis REQUIRED)
-find_package(FLAC REQUIRED)
-
-sfml_add_library(sfml-audio
- SOURCES ${SFML_AUDIO_SOURCES}
- DEPENDS sfml-system
- EXTERNAL_LIBS ${OPENAL_LIBRARY} ${VORBIS_LIBRARIES} ${FLAC_LIBRARY})
-
-target_include_directories(sfml-audio SYSTEM PRIVATE ${OPENAL_INCLUDE_DIR})
-target_include_directories(sfml-audio SYSTEM PRIVATE ${VORBIS_INCLUDE_DIRS})
-target_include_directories(sfml-audio SYSTEM PRIVATE ${FLAC_INCLUDE_DIR})
-
-# graphics module
-
-file(GLOB SFML_GRAPHICS_SOURCES
- ${PROJECT_SOURCE_DIR}/src/SFML/Graphics/*.cpp)
-
-find_package(JPEG REQUIRED)
-find_package(Freetype REQUIRED) # fails to find debug lib
-if(CMAKE_BUILD_TYPE MATCHES Debug)
- find_library(FREETYPE_DEBUG_LIBRARY freetyped)
- set(FREETYPE_ACTUAL_LIBRARY ${FREETYPE_DEBUG_LIBRARY})
-else()
- set(FREETYPE_ACTUAL_LIBRARY ${FREETYPE_LIBRARY})
-endif()
-find_path(STB_HEADERS stb_image.h)
-
-sfml_add_library(sfml-graphics
- SOURCES ${SFML_GRAPHICS_SOURCES}
- DEPENDS sfml-system sfml-window
- EXTERNAL_LIBS ${FREETYPE_ACTUAL_LIBRARY} ${JPEG_LIBRARY} opengl32)
-
-target_include_directories(sfml-graphics SYSTEM PRIVATE ${STB_HEADERS})
-target_include_directories(sfml-graphics SYSTEM PRIVATE ${FREETYPE_INCLUDE_DIRS})
-target_include_directories(sfml-graphics SYSTEM PRIVATE ${JPEG_INCLUDE_DIR})
-set_target_properties(sfml-graphics PROPERTIES COMPILE_FLAGS -DSTBI_FAILURE_USERMSG)
-
-# main module
-
-add_library(sfml-main STATIC ${PROJECT_SOURCE_DIR}/src/SFML/Main/MainWin32.cpp)
-set_target_properties(sfml-main PROPERTIES DEBUG_POSTFIX -d)
-install(TARGETS sfml-main ARCHIVE DESTINATION lib)
-
-# headers
-
-if(NOT DEFINED SFML_SKIP_HEADERS)
- install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include)
-endif()
-
-# log linked libraries
-
-message(STATUS "Link-time dependencies:")
-message(STATUS " " ${VORBIS_LIBRARY})
-message(STATUS " " ${VORBISFILE_LIBRARY})
-message(STATUS " " ${VORBISENC_LIBRARY})
-message(STATUS " " ${OGG_LIBRARY})
-message(STATUS " " ${OPENAL_LIBRARY})
-message(STATUS " " ${FLAC_LIBRARY})
-message(STATUS " " ${FREETYPE_ACTUAL_LIBRARY})
-message(STATUS " " ${JPEG_LIBRARY})
diff --git a/ports/sfml/CONTROL b/ports/sfml/CONTROL
index e7fb08ecd..dbc86b29b 100644
--- a/ports/sfml/CONTROL
+++ b/ports/sfml/CONTROL
@@ -1,4 +1,4 @@
Source: sfml
-Version: 2.4.2
+Version: 2.5.0
Description: Simple and fast multimedia library
-Build-Depends: freetype, libflac, libjpeg-turbo, libogg, libvorbis, openal-soft, stb
+Build-Depends: freetype, libflac, libogg, libvorbis, openal-soft, stb, freeglut (!uwp&&!windows)
diff --git a/ports/sfml/portfile.cmake b/ports/sfml/portfile.cmake
index 69f114ca5..f07a199e6 100644
--- a/ports/sfml/portfile.cmake
+++ b/ports/sfml/portfile.cmake
@@ -1,22 +1,33 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SFML-2.4.2)
-vcpkg_download_distfile(ARCHIVE
- URLS "http://www.sfml-dev.org/files/SFML-2.4.2-sources.zip"
- FILENAME "SFML-2.4.2-sources.zip"
- SHA512 14f2b9f244bbff681d1992581f20012f3073456e4baed0fb2bf2cf82538e9c5ddd8ce01b0cfb3874af47091ec19654aa23c426df04fe1ffcfa209623dc362f85)
-
-vcpkg_extract_source_archive(${ARCHIVE})
+vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH
+ REPO SFML/SFML
+ REF 2.5.0
+ HEAD_REF master
+ SHA512 94306dcbed7d68bb7e226cd91e25950a07bcf393988c4bb79f9de3555c18c78cae4573e911235f712e711a7c02a614bf370df32b8d85240d2f08142327e05076
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/portfile.cmake"
+)
file(REMOVE_RECURSE ${SOURCE_PATH}/extlibs)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+# Without this, we get error: list sub-command REMOVE_DUPLICATES requires list to be present.
+file(MAKE_DIRECTORY ${SOURCE_PATH}/extlibs/libs)
+file(WRITE ${SOURCE_PATH}/extlibs/libs/x "")
+
+if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message("SFML currently requires the following libraries from the system package manager:\n libudev\n libx11\n libxrandr\n opengl\n\nThese can be installed on Ubuntu systems via apt-get install libx11-dev libxrandr-dev libxi-dev libudev-dev mesa-common-dev")
+endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS_DEBUG
- -DSFML_SKIP_HEADERS=ON)
+ OPTIONS
+ -DSFML_BUILD_FRAMEWORKS=OFF
+ -DSFML_USE_SYSTEM_DEPS=ON
+ -DSFML_MISC_INSTALL_PREFIX=share/sfml
+ -DSFML_GENERATE_PDB=OFF
+)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SFML)
vcpkg_copy_pdbs()
# don't force users to define SFML_STATIC while using static library
@@ -25,10 +36,19 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
endif()
# move sfml-main to manual link dir
-file(COPY ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib)
-file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib)
+if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib)
+ file(COPY ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib)
+ file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib)
+ file(GLOB FILES "${CURRENT_PACKAGES_DIR}/share/sfml/SFML*Targets-*.cmake")
+ foreach(FILE ${FILES})
+ file(READ "${FILE}" _contents)
+ string(REPLACE "/lib/sfml-main" "/lib/manual-link/sfml-main" _contents "${_contents}")
+ file(WRITE "${FILE}" "${_contents}")
+ endforeach()
+endif()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
-file(COPY ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfml)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/sfml/license.txt ${CURRENT_PACKAGES_DIR}/share/sfml/copyright)
+file(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfml RENAME copyright)