diff options
Diffstat (limited to 'vcpkg/ports/sdl3-ttf')
| -rw-r--r-- | vcpkg/ports/sdl3-ttf/link-sdl3.diff | 44 | ||||
| -rw-r--r-- | vcpkg/ports/sdl3-ttf/portfile.cmake | 46 | ||||
| -rw-r--r-- | vcpkg/ports/sdl3-ttf/usage | 4 | ||||
| -rw-r--r-- | vcpkg/ports/sdl3-ttf/vcpkg.json | 41 |
4 files changed, 135 insertions, 0 deletions
diff --git a/vcpkg/ports/sdl3-ttf/link-sdl3.diff b/vcpkg/ports/sdl3-ttf/link-sdl3.diff new file mode 100644 index 0000000..1b2ee3a --- /dev/null +++ b/vcpkg/ports/sdl3-ttf/link-sdl3.diff @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 429bcb0..5779652 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -114,13 +114,10 @@ set(sdl_required_components Headers) + + if(SDLTTF_BUILD_SHARED_LIBS) + set(sdl3_ttf_target_name SDL3_ttf-shared) +- set(sdl3_target_name SDL3::SDL3-shared) +- +- list(APPEND sdl_required_components SDL3-shared) + else() + set(sdl3_ttf_target_name SDL3_ttf-static) +- set(sdl3_target_name SDL3::SDL3) + endif() ++set(sdl3_target_name SDL3::SDL3) + + if(NOT TARGET SDL3::Headers OR NOT TARGET ${sdl3_target_name}) + find_package(SDL3 ${SDL_REQUIRED_VERSION} REQUIRED COMPONENTS ${sdl_required_components}) +@@ -160,9 +157,7 @@ target_compile_definitions(${sdl3_ttf_target_name} PRIVATE + SDL_BUILD_MICRO_VERSION=${MICRO_VERSION} + ) + target_link_libraries(${sdl3_ttf_target_name} PUBLIC SDL3::Headers) +-if(SDLTTF_BUILD_SHARED_LIBS) +- target_link_libraries(${sdl3_ttf_target_name} PRIVATE SDL3::SDL3-shared) +-endif() ++target_link_libraries(${sdl3_ttf_target_name} PRIVATE SDL3::SDL3) + sdl_add_warning_options(${sdl3_ttf_target_name} WARNING_AS_ERROR ${SDLTTF_WERROR}) + if ("c_std_99" IN_LIST CMAKE_C_COMPILE_FEATURES) + target_compile_features(${sdl3_ttf_target_name} PRIVATE c_std_99) +diff --git a/cmake/SDL3_ttfConfig.cmake.in b/cmake/SDL3_ttfConfig.cmake.in +index 4600afd..7902d9d 100644 +--- a/cmake/SDL3_ttfConfig.cmake.in ++++ b/cmake/SDL3_ttfConfig.cmake.in +@@ -23,6 +23,9 @@ if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3_ttf-shared-targets.cmake") + set(SDL3_ttf_SDL3_ttf-shared_FOUND TRUE) + endif() + ++include(CMakeFindDependencyMacro) ++find_dependency(SDL3 @SDL_REQUIRED_VERSION@) ++ + set(SDL3_ttf_SDL3_ttf-static_FOUND FALSE) + if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3_ttf-static-targets.cmake") + if(SDLTTF_VENDORED) diff --git a/vcpkg/ports/sdl3-ttf/portfile.cmake b/vcpkg/ports/sdl3-ttf/portfile.cmake new file mode 100644 index 0000000..bec0898 --- /dev/null +++ b/vcpkg/ports/sdl3-ttf/portfile.cmake @@ -0,0 +1,46 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libsdl-org/SDL_ttf + REF "release-${VERSION}" + SHA512 b9adc28d584759b1cc1072d071caad95ade263a1fb24e294d66fc15e132d44bc62925875cb1f1b596089def9b47d7b73f42ffa4e120ee51982f993dc7a7d3bd7 + HEAD_REF main + PATCHES + link-sdl3.diff +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + harfbuzz SDLTTF_HARFBUZZ + svg SDLTTF_PLUTOSVG +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSDLTTF_SAMPLES=OFF + -DSDLTTF_STRICT=ON + -DSDLTTF_VENDORED=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") + vcpkg_cmake_config_fixup(PACKAGE_NAME sdl3_ttf CONFIG_PATH cmake) +else() + vcpkg_cmake_config_fixup(PACKAGE_NAME sdl3_ttf CONFIG_PATH lib/cmake/SDL3_ttf) +endif() + +vcpkg_fixup_pkgconfig() +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sdl3-ttf.pc" " -lSDL3_ttf" " -lSDL3_ttf-static") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl3-ttf.pc" " -lSDL3_ttf" " -lSDL3_ttf-static") + endif() +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/licenses") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/vcpkg/ports/sdl3-ttf/usage b/vcpkg/ports/sdl3-ttf/usage new file mode 100644 index 0000000..2203684 --- /dev/null +++ b/vcpkg/ports/sdl3-ttf/usage @@ -0,0 +1,4 @@ +sdl3-ttf provides CMake targets: + + find_package(SDL3_ttf CONFIG REQUIRED) + target_link_libraries(main PRIVATE SDL3_ttf::SDL3_ttf) diff --git a/vcpkg/ports/sdl3-ttf/vcpkg.json b/vcpkg/ports/sdl3-ttf/vcpkg.json new file mode 100644 index 0000000..77c68b0 --- /dev/null +++ b/vcpkg/ports/sdl3-ttf/vcpkg.json @@ -0,0 +1,41 @@ +{ + "name": "sdl3-ttf", + "version": "3.2.2", + "port-version": 1, + "description": "A library for rendering TrueType fonts with SDL", + "homepage": "https://github.com/libsdl-org/SDL_ttf", + "license": "Zlib", + "supports": "!uwp", + "dependencies": [ + { + "name": "freetype", + "default-features": false + }, + { + "name": "sdl3", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "harfbuzz": { + "description": "Enable HarfBuzz support", + "dependencies": [ + "harfbuzz" + ] + }, + "svg": { + "description": "Enable plutosvg for color emoji support", + "dependencies": [ + "plutosvg" + ] + } + } +} |