diff options
| author | Alexander Saprykin <xelfium@gmail.com> | 2018-05-26 13:27:14 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-05-26 13:27:14 +0200 |
| commit | 4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5 (patch) | |
| tree | d95c9490352eb73f078d34a33bc4bb44ac9fa48b /ports/sfml | |
| parent | fb689bd13dd6ba563a885d71fff1dd2b32a615db (diff) | |
| parent | 2ac7527b40b1dbeb7856b9f763362c1e139e2ca9 (diff) | |
| download | vcpkg-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.txt | 122 | ||||
| -rw-r--r-- | ports/sfml/CONTROL | 4 | ||||
| -rw-r--r-- | ports/sfml/portfile.cmake | 52 |
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)
|
