diff options
| author | Stefano Sinigardi <stesinigardi@hotmail.com> | 2019-10-07 19:35:13 +0200 |
|---|---|---|
| committer | Curtis J Bezault <curtbezault@gmail.com> | 2019-10-07 10:35:13 -0700 |
| commit | 726c11148105a97aef39bec024fdb7c140b1b154 (patch) | |
| tree | 26bd2aee0c13a8351b259cc4ffffaf0efededb4e /ports/sfml | |
| parent | e86ff2cc54bda9e9ee322ab69141e7113d5c40a9 (diff) | |
| download | vcpkg-726c11148105a97aef39bec024fdb7c140b1b154.tar.gz vcpkg-726c11148105a97aef39bec024fdb7c140b1b154.zip | |
[vcpkg] fatal_error when patch fails to apply (#8087)
vcpkg will now fail on failure to apply patches except when using `--head`.
Diffstat (limited to 'ports/sfml')
| -rw-r--r-- | ports/sfml/CONTROL | 10 | ||||
| -rw-r--r-- | ports/sfml/portfile.cmake | 114 | ||||
| -rw-r--r-- | ports/sfml/use-system-freetype.patch | 24 |
3 files changed, 73 insertions, 75 deletions
diff --git a/ports/sfml/CONTROL b/ports/sfml/CONTROL index 606095d88..4aa91716f 100644 --- a/ports/sfml/CONTROL +++ b/ports/sfml/CONTROL @@ -1,5 +1,5 @@ -Source: sfml
-Version: 2.5.1-2
-Homepage: https://github.com/sfml/sfml
-Description: Simple and fast multimedia library
-Build-Depends: freetype, libflac, libogg, libvorbis, openal-soft, stb
+Source: sfml +Version: 2.5.1-3 +Homepage: https://github.com/sfml/sfml +Description: Simple and fast multimedia library +Build-Depends: freetype, libflac, libogg, libvorbis, openal-soft, stb diff --git a/ports/sfml/portfile.cmake b/ports/sfml/portfile.cmake index 2281d5ac3..793489b97 100644 --- a/ports/sfml/portfile.cmake +++ b/ports/sfml/portfile.cmake @@ -1,57 +1,57 @@ -
-include(vcpkg_common_functions)
-vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH
- REPO SFML/SFML
- REF 2.5.1
- HEAD_REF master
- SHA512 7aed2fc29d1da98e6c4d598d5c86cf536cb4eb5c2079cdc23bb8e502288833c052579dadbe0ce13ad6461792d959bf6d9660229f54c54cf90a541c88c6b03d59
- PATCHES use-system-freetype.patch
-)
-
-file(REMOVE_RECURSE ${SOURCE_PATH}/extlibs)
-# 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 "")
-# The embedded FindFreetype doesn't properly handle debug libraries
-file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/Modules/FindFreetype.cmake)
-
-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 libgl1-mesa-dev")
-endif()
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- 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()
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- FILE(READ ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake SFML_CONFIG)
- FILE(WRITE ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake "set(SFML_STATIC_LIBRARIES true)\ninclude(CMakeFindDependencyMacro)\nfind_dependency(Freetype)\n${SFML_CONFIG}")
-endif()
-
-# move sfml-main to manual link dir
-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(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfml RENAME copyright)
+ +include(vcpkg_common_functions) +vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH + REPO SFML/SFML + REF 2.5.1 + HEAD_REF master + SHA512 7aed2fc29d1da98e6c4d598d5c86cf536cb4eb5c2079cdc23bb8e502288833c052579dadbe0ce13ad6461792d959bf6d9660229f54c54cf90a541c88c6b03d59 + PATCHES use-system-freetype.patch +) + +file(REMOVE_RECURSE ${SOURCE_PATH}/extlibs) +# 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 "") +# The embedded FindFreetype doesn't properly handle debug libraries +file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/Modules/FindFreetype.cmake) + +if(VCPKG_TARGET_IS_LINUX) + message(STATUS "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 libgl1-mesa-dev") +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + 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() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + FILE(READ ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake SFML_CONFIG) + FILE(WRITE ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake "set(SFML_STATIC_LIBRARIES true)\ninclude(CMakeFindDependencyMacro)\nfind_dependency(Freetype)\n${SFML_CONFIG}") +endif() + +# move sfml-main to manual link dir +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(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfml RENAME copyright) diff --git a/ports/sfml/use-system-freetype.patch b/ports/sfml/use-system-freetype.patch index c58fc1b95..4d895b741 100644 --- a/ports/sfml/use-system-freetype.patch +++ b/ports/sfml/use-system-freetype.patch @@ -1,13 +1,11 @@ -diff --git a/src/sfml/Graphics/CMakeLists.txt b/src/sfml/Graphics/CMakeLists.txt
-index 883c758..76f3b6f 100644
---- a/src/sfml/Graphics/CMakeLists.txt
-+++ b/src/sfml/Graphics/CMakeLists.txt
-@@ -135,7 +135,7 @@ if(SFML_OS_ANDROID)
- endif()
-
- sfml_find_package(Freetype INCLUDE "FREETYPE_INCLUDE_DIRS" LINK "FREETYPE_LIBRARY")
--target_link_libraries(sfml-graphics PRIVATE Freetype)
-+target_link_libraries(sfml-graphics PRIVATE Freetype::Freetype)
-
- # add preprocessor symbols
- target_compile_definitions(sfml-graphics PRIVATE "STBI_FAILURE_USERMSG")
+--- a/src/SFML/Graphics/CMakeLists.txt ++++ b/src/SFML/Graphics/CMakeLists.txt +@@ -135,7 +135,7 @@ if(SFML_OS_ANDROID) + endif() + + sfml_find_package(Freetype INCLUDE "FREETYPE_INCLUDE_DIRS" LINK "FREETYPE_LIBRARY") +-target_link_libraries(sfml-graphics PRIVATE Freetype) ++target_link_libraries(sfml-graphics PRIVATE Freetype::Freetype) + + # add preprocessor symbols + target_compile_definitions(sfml-graphics PRIVATE "STBI_FAILURE_USERMSG") |
