From 30e31b2d0b2229f4a41e9fef19aabc5aba4cfb27 Mon Sep 17 00:00:00 2001 From: akrieger Date: Fri, 13 Dec 2024 10:01:29 -0800 Subject: [PATCH] Update vcpkg to new mainline commit and instructions --- .github/vcpkg_ports/sdl2/deps.patch | 13 --- .github/vcpkg_ports/sdl2/portfile.cmake | 130 ---------------------- .github/vcpkg_ports/sdl2/usage | 8 -- .github/vcpkg_ports/sdl2/vcpkg.json | 25 ----- .github/workflows/msvc-full-features.yml | 2 +- .github/workflows/release.yml | 2 +- doc/COMPILING/COMPILING-VS-VCPKG.md | 6 +- msvc-full-features/Cataclysm-common.props | 10 +- msvc-full-features/vcpkg.json | 7 +- 9 files changed, 12 insertions(+), 191 deletions(-) delete mode 100644 .github/vcpkg_ports/sdl2/deps.patch delete mode 100644 .github/vcpkg_ports/sdl2/portfile.cmake delete mode 100644 .github/vcpkg_ports/sdl2/usage delete mode 100644 .github/vcpkg_ports/sdl2/vcpkg.json diff --git a/.github/vcpkg_ports/sdl2/deps.patch b/.github/vcpkg_ports/sdl2/deps.patch deleted file mode 100644 index a8637d8c801b7..0000000000000 --- a/.github/vcpkg_ports/sdl2/deps.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake -index 65a98efbe..2f99f28f1 100644 ---- a/cmake/sdlchecks.cmake -+++ b/cmake/sdlchecks.cmake -@@ -352,7 +352,7 @@ endmacro() - # - HAVE_SDL_LOADSO opt - macro(CheckLibSampleRate) - if(SDL_LIBSAMPLERATE) -- find_package(SampleRate QUIET) -+ find_package(SampleRate CONFIG REQUIRED) - if(SampleRate_FOUND AND TARGET SampleRate::samplerate) - set(HAVE_LIBSAMPLERATE TRUE) - set(HAVE_LIBSAMPLERATE_H TRUE) diff --git a/.github/vcpkg_ports/sdl2/portfile.cmake b/.github/vcpkg_ports/sdl2/portfile.cmake deleted file mode 100644 index 68298f8a26181..0000000000000 --- a/.github/vcpkg_ports/sdl2/portfile.cmake +++ /dev/null @@ -1,130 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO akrieger/SDL - REF release-2.26.4_qrox_math - SHA512 aa8c0552ac92bbf85dd3f9339088ebd41e0d09b1d46492462b47b632bab5d850c62b7938950accbfb51798b9f5664c1896fc75bdb8dd42b2c1cee84eebd59e13 - HEAD_REF main - PATCHES - deps.patch -) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SDL_SHARED) -string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" FORCE_STATIC_VCRT) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - vulkan SDL_VULKAN - x11 SDL_X11 - wayland SDL_WAYLAND - samplerate SDL_LIBSAMPLERATE - ibus SDL_IBUS -) - -if ("x11" IN_LIST FEATURES) - message(WARNING "You will need to install Xorg dependencies to use feature x11:\nsudo apt install libx11-dev libxft-dev libxext-dev\n") -endif() -if ("wayland" IN_LIST FEATURES) - message(WARNING "You will need to install Wayland dependencies to use feature wayland:\nsudo apt install libwayland-dev libxkbcommon-dev libegl1-mesa-dev\n") -endif() -if ("ibus" IN_LIST FEATURES) - message(WARNING "You will need to install ibus dependencies to use feature ibus:\nsudo apt install libibus-1.0-dev\n") -endif() - -if(VCPKG_TARGET_IS_UWP) - set(configure_opts WINDOWS_USE_MSBUILD) -endif() - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - ${configure_opts} - OPTIONS ${FEATURE_OPTIONS} - -DSDL_STATIC=${SDL_STATIC} - -DSDL_SHARED=${SDL_SHARED} - -DSDL_FORCE_STATIC_VCRT=${FORCE_STATIC_VCRT} - -DSDL_LIBC=ON - -DSDL_TEST=OFF - -DSDL_INSTALL_CMAKEDIR="cmake" - -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON - -DSDL_LIBSAMPLERATE_SHARED=OFF - MAYBE_UNUSED_VARIABLES - SDL_FORCE_STATIC_VCRT -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH cmake) - -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" - "${CURRENT_PACKAGES_DIR}/bin/sdl2-config" - "${CURRENT_PACKAGES_DIR}/debug/bin/sdl2-config" - "${CURRENT_PACKAGES_DIR}/SDL2.framework" - "${CURRENT_PACKAGES_DIR}/debug/SDL2.framework" - "${CURRENT_PACKAGES_DIR}/share/licenses" - "${CURRENT_PACKAGES_DIR}/share/aclocal" -) - -file(GLOB BINS "${CURRENT_PACKAGES_DIR}/debug/bin/*" "${CURRENT_PACKAGES_DIR}/bin/*") -if(NOT BINS) - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/debug/bin" - ) -endif() - -if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_UWP AND NOT VCPKG_TARGET_IS_MINGW) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/manual-link") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/SDL2main.lib" "${CURRENT_PACKAGES_DIR}/lib/manual-link/SDL2main.lib") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/SDL2maind.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/SDL2maind.lib") - endif() - - file(GLOB SHARE_FILES "${CURRENT_PACKAGES_DIR}/share/sdl2/*.cmake") - foreach(SHARE_FILE ${SHARE_FILES}) - vcpkg_replace_string("${SHARE_FILE}" "lib/SDL2main" "lib/manual-link/SDL2main") - endforeach() -endif() - -vcpkg_copy_pdbs() - -set(DYLIB_COMPATIBILITY_VERSION_REGEX "set\\(DYLIB_COMPATIBILITY_VERSION (.+)\\)") -set(DYLIB_CURRENT_VERSION_REGEX "set\\(DYLIB_CURRENT_VERSION (.+)\\)") -file(STRINGS "${SOURCE_PATH}/CMakeLists.txt" DYLIB_COMPATIBILITY_VERSION REGEX ${DYLIB_COMPATIBILITY_VERSION_REGEX}) -file(STRINGS "${SOURCE_PATH}/CMakeLists.txt" DYLIB_CURRENT_VERSION REGEX ${DYLIB_CURRENT_VERSION_REGEX}) -string(REGEX REPLACE ${DYLIB_COMPATIBILITY_VERSION_REGEX} "\\1" DYLIB_COMPATIBILITY_VERSION "${DYLIB_COMPATIBILITY_VERSION}") -string(REGEX REPLACE ${DYLIB_CURRENT_VERSION_REGEX} "\\1" DYLIB_CURRENT_VERSION "${DYLIB_CURRENT_VERSION}") - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2main" "-lSDL2maind") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2 " "-lSDL2d ") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2-static " "-lSDL2-staticd ") -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sdl2.pc" "-lSDL2-static " " ") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2-staticd " " ") - endif() -endif() - -if(VCPKG_TARGET_IS_UWP) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sdl2.pc" "$<$:d>.lib" "") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sdl2.pc" "-l-nodefaultlib:" "-nodefaultlib:") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "$<$:d>.lib" "d") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-l-nodefaultlib:" "-nodefaultlib:") - endif() -endif() - -vcpkg_fixup_pkgconfig() - -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/.github/vcpkg_ports/sdl2/usage b/.github/vcpkg_ports/sdl2/usage deleted file mode 100644 index 1cddcd46ffcf4..0000000000000 --- a/.github/vcpkg_ports/sdl2/usage +++ /dev/null @@ -1,8 +0,0 @@ -sdl2 provides CMake targets: - - find_package(SDL2 CONFIG REQUIRED) - target_link_libraries(main - PRIVATE - $ - $,SDL2::SDL2,SDL2::SDL2-static> - ) diff --git a/.github/vcpkg_ports/sdl2/vcpkg.json b/.github/vcpkg_ports/sdl2/vcpkg.json deleted file mode 100644 index a6ed2f9c923c2..0000000000000 --- a/.github/vcpkg_ports/sdl2/vcpkg.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "sdl2", - "version": "2.26.4", - "description": "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.", - "homepage": "https://www.libsdl.org/download-2.0.php", - "license": "Zlib", - "dependencies": [ - { "name": "vcpkg-cmake", "host": true }, - { "name": "vcpkg-cmake-config", "host": true } - ], - "default-features": [ - "base" - ], - "features": { - "base": { - "description": "Base functionality for SDL", - "dependencies": [ { "name": "sdl2", "default-features": false, "features": [ "ibus", "wayland", "x11" ], "platform": "linux" } ] - }, - "ibus": { "description": "Build with ibus IME support", "supports": "linux" }, - "samplerate": { "description": "Use libsamplerate for audio rate conversion", "dependencies": [ "libsamplerate" ] }, - "vulkan": { "description": "Vulkan functionality for SDL" }, - "wayland": { "description": "Build with Wayland support", "supports": "linux" }, - "x11": { "description": "Build with X11 support", "supports": "!windows" } - } -} diff --git a/.github/workflows/msvc-full-features.yml b/.github/workflows/msvc-full-features.yml index 28c3081390744..32e7905271653 100644 --- a/.github/workflows/msvc-full-features.yml +++ b/.github/workflows/msvc-full-features.yml @@ -86,7 +86,7 @@ jobs: id: runvcpkg with: vcpkgDirectory: '${{ runner.workspace }}/b/vcpkg' - vcpkgGitCommitId: '66444e13a86da7087ee24c342f91801cc6eb9877' + vcpkgGitCommitId: '3b57fb2e1ff55613db14d2aaf0a30529289c7050' - name: Integrate vcpkg run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 36b3c96d99085..810f98bc43cdd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -172,7 +172,7 @@ jobs: id: runvcpkg with: vcpkgDirectory: '${{ runner.workspace }}/b/vcpkg' - vcpkgGitCommitId: '66444e13a86da7087ee24c342f91801cc6eb9877' + vcpkgGitCommitId: '3b57fb2e1ff55613db14d2aaf0a30529289c7050' - name: Install dependencies (windows msvc) (3/4) if: runner.os == 'Windows' run: | diff --git a/doc/COMPILING/COMPILING-VS-VCPKG.md b/doc/COMPILING/COMPILING-VS-VCPKG.md index 18429345c39b1..b39ec8355f7b2 100644 --- a/doc/COMPILING/COMPILING-VS-VCPKG.md +++ b/doc/COMPILING/COMPILING-VS-VCPKG.md @@ -22,7 +22,7 @@ Steps from current guide were tested on Windows 10 (64 bit), Visual Studio 2019 2. Install `Git for Windows` (installer can be downloaded from [Git homepage](https://git-scm.com/)). -3. Install and configure `vcpkg`. If you already have `vcpkg` installed, you should update it to at least commit `66444e13a86da7087ee24c342f91801cc6eb9877` (the most recent tested good revision) and rerun `.\bootstrap-vcpkg.bat` as described: +3. Install and configure `vcpkg`. If you already have `vcpkg` installed, you should update it to at least commit `3b57fb2e1ff55613db14d2aaf0a30529289c7050` (the most recent tested good revision) and rerun `.\bootstrap-vcpkg.bat` as described: ***WARNING: It is important that, wherever you decide to clone this repo, the path does not include whitespace. That is, `C:/dev/vcpkg` is acceptable, but `C:/dev test/vcpkg` is not.*** @@ -31,18 +31,18 @@ In a `cmd.exe` shell: REM cd to the appropriate folder first git clone https://github.com/Microsoft/vcpkg.git cd vcpkg +git checkout 3b57fb2e1ff55613db14d2aaf0a30529289c7050 .\bootstrap-vcpkg.bat -disableMetrics .\vcpkg integrate install -git checkout 66444e13a86da7087ee24c342f91801cc6eb9877 ``` In a Git Bash shell, the commands are almost the same except the filesystem path separator is `/` instead of `\`. ```cmd # cd to the appropriate folder first git clone https://github.com/Microsoft/vcpkg.git cd vcpkg +git checkout 3b57fb2e1ff55613db14d2aaf0a30529289c7050 ./bootstrap-vcpkg.bat -disableMetrics ./vcpkg.exe integrate install -git checkout 66444e13a86da7087ee24c342f91801cc6eb9877 ``` ## Cloning and compilation: diff --git a/msvc-full-features/Cataclysm-common.props b/msvc-full-features/Cataclysm-common.props index 57ae5c83d7626..424957c60994f 100644 --- a/msvc-full-features/Cataclysm-common.props +++ b/msvc-full-features/Cataclysm-common.props @@ -104,15 +104,17 @@ $(ProjectDir)vcpkg_installed\$(VcpkgTripet)\$(VcpkgTriplet)\lib;%(AdditionalLibraryDirectories) - brotlicommon-static.lib; - brotlidec-static.lib; - brotlienc-static.lib; + brotlicommon.lib; + brotlidec.lib; + brotlienc.lib; bz2$(VcpkgLibSuffix).lib; FLAC.lib; FLAC++.lib; freetype$(VcpkgLibSuffix).lib; jpeg.lib; libpng16$(VcpkgLibSuffix).lib; + libwavpack.lib; + libxmp-static.lib; modplug.lib; mpg123.lib; ogg.lib; @@ -120,7 +122,7 @@ pdcurses.lib; SDL2_image-static$(VcpkgLibSuffix).lib; SDL2_mixer-static$(VcpkgLibSuffix).lib; - SDL2_ttf.lib; + SDL2_ttf$(VcpkgLibSuffix).lib; SDL2-static$(VcpkgLibSuffix).lib; syn123.lib; turbojpeg.lib; diff --git a/msvc-full-features/vcpkg.json b/msvc-full-features/vcpkg.json index cf624c2d75a2d..3da3ddb9ab313 100644 --- a/msvc-full-features/vcpkg.json +++ b/msvc-full-features/vcpkg.json @@ -13,10 +13,5 @@ }, "sdl2-ttf", "pdcurses" - ], - "vcpkg-configuration": { - "overlay-ports": [ - "../.github/vcpkg_ports" - ] - } + ] }