From 9e5b69ee540531fbc7fc7997c517edf7f1e7f85d Mon Sep 17 00:00:00 2001 From: TheLastRar Date: Thu, 24 Apr 2025 23:14:08 +0100 Subject: [PATCH] Deps: Add Pluto(S)VG --- .../scripts/linux/build-dependencies-qt.sh | 26 ++++++++++++++++- .../linux/flatpak/modules/24-plutovg.json | 28 ++++++++++++++++++ .../linux/flatpak/modules/25-plutosvg.json | 29 +++++++++++++++++++ .../linux/flatpak/net.pcsx2.PCSX2.json | 2 ++ .../macos/build-dependencies-universal.sh | 26 ++++++++++++++++- .../scripts/macos/build-dependencies.sh | 26 ++++++++++++++++- .../windows/build-dependencies-arm64.bat | 22 ++++++++++++++ .../scripts/windows/build-dependencies.bat | 22 ++++++++++++++ 3rdparty/imgui/CMakeLists.txt | 1 + 3rdparty/imgui/imgui.vcxproj | 2 +- cmake/SearchForStuff.cmake | 2 ++ common/vsprops/LinkPCSX2Deps.props | 4 ++- pcsx2/CMakeLists.txt | 4 ++- pcsx2/pcsx2.vcxproj | 1 + 14 files changed, 189 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/scripts/linux/flatpak/modules/24-plutovg.json create mode 100644 .github/workflows/scripts/linux/flatpak/modules/25-plutosvg.json diff --git a/.github/workflows/scripts/linux/build-dependencies-qt.sh b/.github/workflows/scripts/linux/build-dependencies-qt.sh index 261898cbf9..05b8846f6f 100755 --- a/.github/workflows/scripts/linux/build-dependencies-qt.sh +++ b/.github/workflows/scripts/linux/build-dependencies-qt.sh @@ -23,6 +23,8 @@ SDL=SDL3-3.2.10 QT=6.9.0 ZSTD=1.5.7 KDDOCKWIDGETS=2.2.3 +PLUTOVG=0.0.13 +PLUTOSVG=0.0.6 SHADERC=2024.1 SHADERC_GLSLANG=142052fa30f9eca191aa9dcf65359fcaed09eeec @@ -51,6 +53,8 @@ aa27e4454ce631c5a17924ce0624eac736da19fc6f5a2ab15a6c58da7b36950f shaderc-glslan 5d866ce34a4b6908e262e5ebfffc0a5e11dd411640b5f24c85a80ad44c0d4697 shaderc-spirv-headers-$SHADERC_SPIRVHEADERS.tar.gz 03ee1a2c06f3b61008478f4abe9423454e53e580b9488b47c8071547c6a9db47 shaderc-spirv-tools-$SHADERC_SPIRVTOOLS.tar.gz b8529755b2d54205341766ae168e83177c6120660539f9afba71af6bca4b81ec KDDockWidgets-$KDDOCKWIDGETS.tar.gz +f49d62709d6bf1808ddc9b8f71e22a755484f75c7bbb0fb368f7fb2ffc7cf645 plutovg-$PLUTOVG.tar.gz +01f8aee511bd587a602a166642a96522cc9522efd1e38c2d00e4fbc0aa22d7a0 plutosvg-$PLUTOSVG.tar.gz EOF curl -L \ @@ -71,7 +75,9 @@ curl -L \ -o "shaderc-glslang-$SHADERC_GLSLANG.tar.gz" "https://github.com/KhronosGroup/glslang/archive/$SHADERC_GLSLANG.tar.gz" \ -o "shaderc-spirv-headers-$SHADERC_SPIRVHEADERS.tar.gz" "https://github.com/KhronosGroup/SPIRV-Headers/archive/$SHADERC_SPIRVHEADERS.tar.gz" \ -o "shaderc-spirv-tools-$SHADERC_SPIRVTOOLS.tar.gz" "https://github.com/KhronosGroup/SPIRV-Tools/archive/$SHADERC_SPIRVTOOLS.tar.gz" \ - -o "KDDockWidgets-$KDDOCKWIDGETS.tar.gz" "https://github.com/KDAB/KDDockWidgets/archive/v$KDDOCKWIDGETS.tar.gz" + -o "KDDockWidgets-$KDDOCKWIDGETS.tar.gz" "https://github.com/KDAB/KDDockWidgets/archive/v$KDDOCKWIDGETS.tar.gz" \ + -o "plutovg-$PLUTOVG.tar.gz" "https://github.com/sammycage/plutovg/archive/v$PLUTOVG.tar.gz" \ + -o "plutosvg-$PLUTOSVG.tar.gz" "https://github.com/sammycage/plutosvg/archive/v$PLUTOSVG.tar.gz" shasum -a 256 --check SHASUMS @@ -221,6 +227,24 @@ cmake --build build --parallel ninja -C build install cd .. +echo "Building PlutoVG..." +rm -fr "plutovg-$PLUTOVG" +tar xf "plutovg-$PLUTOVG.tar.gz" +cd "plutovg-$PLUTOVG" +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DPLUTOVG_BUILD_EXAMPLES=OFF -B build -G Ninja +cmake --build build --parallel +ninja -C build install +cd .. + +echo "Building PlutoSVG..." +rm -fr "plutosvg-$PLUTOSVG" +tar xf "plutosvg-$PLUTOSVG.tar.gz" +cd "plutosvg-$PLUTOSVG" +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DPLUTOSVG_ENABLE_FREETYPE=OFF -DPLUTOSVG_BUILD_EXAMPLES=OFF -B build -G Ninja +cmake --build build --parallel +ninja -C build install +cd .. + echo "Building shaderc..." rm -fr "shaderc-$SHADERC" tar xf "shaderc-$SHADERC.tar.gz" diff --git a/.github/workflows/scripts/linux/flatpak/modules/24-plutovg.json b/.github/workflows/scripts/linux/flatpak/modules/24-plutovg.json new file mode 100644 index 0000000000..5306c912db --- /dev/null +++ b/.github/workflows/scripts/linux/flatpak/modules/24-plutovg.json @@ -0,0 +1,28 @@ +{ + "name": "plutovg", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DBUILD_SHARED_LIBS=ON", + "-DPLUTOVG_BUILD_EXAMPLES=OFF" + ], + "build-options": { + "strip": true + }, + "sources": [ + { + "type": "git", + "url": "https://github.com/sammycage/plutovg.git", + "tag": "v0.0.13", + "sha256": "5e4712cf873b0c7829a4a6157763e2ad3ac49164" + } + ], + "cleanup": [ + "/bin", + "/include", + "/lib/*.a", + "/lib/*.la", + "/lib/cmake", + "/lib/pkgconfig" + ] +} diff --git a/.github/workflows/scripts/linux/flatpak/modules/25-plutosvg.json b/.github/workflows/scripts/linux/flatpak/modules/25-plutosvg.json new file mode 100644 index 0000000000..f7253b5fc5 --- /dev/null +++ b/.github/workflows/scripts/linux/flatpak/modules/25-plutosvg.json @@ -0,0 +1,29 @@ +{ + "name": "plutosvg", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DBUILD_SHARED_LIBS=ON", + "-DPLUTOSVG_BUILD_EXAMPLES=OFF", + "-DPLUTOSVG_ENABLE_FREETYPE=ON" + ], + "build-options": { + "strip": true + }, + "sources": [ + { + "type": "git", + "url": "https://github.com/sammycage/plutosvg.git", + "tag": "v0.0.6", + "sha256": "c5388fa96feca1f1376a3d0485d5e35159452707" + } + ], + "cleanup": [ + "/bin", + "/include", + "/lib/*.a", + "/lib/*.la", + "/lib/cmake", + "/lib/pkgconfig" + ] +} diff --git a/.github/workflows/scripts/linux/flatpak/net.pcsx2.PCSX2.json b/.github/workflows/scripts/linux/flatpak/net.pcsx2.PCSX2.json index c1ec945fc6..6b13df6753 100644 --- a/.github/workflows/scripts/linux/flatpak/net.pcsx2.PCSX2.json +++ b/.github/workflows/scripts/linux/flatpak/net.pcsx2.PCSX2.json @@ -30,6 +30,8 @@ "modules/21-libbacktrace.json", "modules/22-shaderc.json", "modules/23-kddockwidgets.json", + "modules/24-plutovg.json", + "modules/25-plutosvg.json", { "name": "pcsx2", "buildsystem": "cmake-ninja", diff --git a/.github/workflows/scripts/macos/build-dependencies-universal.sh b/.github/workflows/scripts/macos/build-dependencies-universal.sh index 8b92e2c719..27a40adac2 100755 --- a/.github/workflows/scripts/macos/build-dependencies-universal.sh +++ b/.github/workflows/scripts/macos/build-dependencies-universal.sh @@ -50,6 +50,8 @@ FFMPEG=6.0 MOLTENVK=1.2.9 QT=6.7.3 KDDOCKWIDGETS=2.2.3 +PLUTOVG=0.0.13 +PLUTOSVG=0.0.6 SHADERC=2024.1 SHADERC_GLSLANG=142052fa30f9eca191aa9dcf65359fcaed09eeec @@ -95,6 +97,8 @@ aa27e4454ce631c5a17924ce0624eac736da19fc6f5a2ab15a6c58da7b36950f shaderc-glslan 5d866ce34a4b6908e262e5ebfffc0a5e11dd411640b5f24c85a80ad44c0d4697 shaderc-spirv-headers-$SHADERC_SPIRVHEADERS.tar.gz 03ee1a2c06f3b61008478f4abe9423454e53e580b9488b47c8071547c6a9db47 shaderc-spirv-tools-$SHADERC_SPIRVTOOLS.tar.gz b8529755b2d54205341766ae168e83177c6120660539f9afba71af6bca4b81ec KDDockWidgets-$KDDOCKWIDGETS.tar.gz +f49d62709d6bf1808ddc9b8f71e22a755484f75c7bbb0fb368f7fb2ffc7cf645 plutovg-$PLUTOVG.tar.gz +01f8aee511bd587a602a166642a96522cc9522efd1e38c2d00e4fbc0aa22d7a0 plutosvg-$PLUTOSVG.tar.gz EOF curl -C - -L \ @@ -117,7 +121,9 @@ curl -C - -L \ -o "shaderc-glslang-$SHADERC_GLSLANG.tar.gz" "https://github.com/KhronosGroup/glslang/archive/$SHADERC_GLSLANG.tar.gz" \ -o "shaderc-spirv-headers-$SHADERC_SPIRVHEADERS.tar.gz" "https://github.com/KhronosGroup/SPIRV-Headers/archive/$SHADERC_SPIRVHEADERS.tar.gz" \ -o "shaderc-spirv-tools-$SHADERC_SPIRVTOOLS.tar.gz" "https://github.com/KhronosGroup/SPIRV-Tools/archive/$SHADERC_SPIRVTOOLS.tar.gz" \ - -o "KDDockWidgets-$KDDOCKWIDGETS.tar.gz" "https://github.com/KDAB/KDDockWidgets/archive/v$KDDOCKWIDGETS.tar.gz" + -o "KDDockWidgets-$KDDOCKWIDGETS.tar.gz" "https://github.com/KDAB/KDDockWidgets/archive/v$KDDOCKWIDGETS.tar.gz" \ + -o "plutovg-$PLUTOVG.tar.gz" "https://github.com/sammycage/plutovg/archive/v$PLUTOVG.tar.gz" \ + -o "plutosvg-$PLUTOSVG.tar.gz" "https://github.com/sammycage/plutosvg/archive/v$PLUTOSVG.tar.gz" shasum -a 256 --check SHASUMS @@ -370,6 +376,24 @@ cmake --build build --parallel cmake --install build cd .. +echo "Building PlutoVG..." +rm -fr "plutovg-$PLUTOVG" +tar xf "plutovg-$PLUTOVG.tar.gz" +cd "plutovg-$PLUTOVG" +cmake "${CMAKE_COMMON[@]}" -DBUILD_SHARED_LIBS=ON -DPLUTOVG_BUILD_EXAMPLES=OFF -B build +make -C build "-j$NPROCS" +make -C build install +cd .. + +echo "Building PlutoSVG..." +rm -fr "plutosvg-$PLUTOSVG" +tar xf "plutosvg-$PLUTOSVG.tar.gz" +cd "plutosvg-$PLUTOSVG" +cmake "${CMAKE_COMMON[@]}" -DBUILD_SHARED_LIBS=ON -DPLUTOSVG_ENABLE_FREETYPE=ON -DPLUTOSVG_BUILD_EXAMPLES=OFF -B build +make -C build "-j$NPROCS" +make -C build install +cd .. + echo "Cleaning up..." cd .. rm -rf deps-build diff --git a/.github/workflows/scripts/macos/build-dependencies.sh b/.github/workflows/scripts/macos/build-dependencies.sh index dfce1c841d..661144d686 100755 --- a/.github/workflows/scripts/macos/build-dependencies.sh +++ b/.github/workflows/scripts/macos/build-dependencies.sh @@ -32,6 +32,8 @@ FFMPEG=6.0 MOLTENVK=1.2.9 QT=6.7.3 KDDOCKWIDGETS=2.2.3 +PLUTOVG=0.0.13 +PLUTOSVG=0.0.6 SHADERC=2024.1 SHADERC_GLSLANG=142052fa30f9eca191aa9dcf65359fcaed09eeec @@ -75,6 +77,8 @@ aa27e4454ce631c5a17924ce0624eac736da19fc6f5a2ab15a6c58da7b36950f shaderc-glslan 5d866ce34a4b6908e262e5ebfffc0a5e11dd411640b5f24c85a80ad44c0d4697 shaderc-spirv-headers-$SHADERC_SPIRVHEADERS.tar.gz 03ee1a2c06f3b61008478f4abe9423454e53e580b9488b47c8071547c6a9db47 shaderc-spirv-tools-$SHADERC_SPIRVTOOLS.tar.gz b8529755b2d54205341766ae168e83177c6120660539f9afba71af6bca4b81ec KDDockWidgets-$KDDOCKWIDGETS.tar.gz +f49d62709d6bf1808ddc9b8f71e22a755484f75c7bbb0fb368f7fb2ffc7cf645 plutovg-$PLUTOVG.tar.gz +01f8aee511bd587a602a166642a96522cc9522efd1e38c2d00e4fbc0aa22d7a0 plutosvg-$PLUTOSVG.tar.gz EOF curl -L \ @@ -97,7 +101,9 @@ curl -L \ -o "shaderc-glslang-$SHADERC_GLSLANG.tar.gz" "https://github.com/KhronosGroup/glslang/archive/$SHADERC_GLSLANG.tar.gz" \ -o "shaderc-spirv-headers-$SHADERC_SPIRVHEADERS.tar.gz" "https://github.com/KhronosGroup/SPIRV-Headers/archive/$SHADERC_SPIRVHEADERS.tar.gz" \ -o "shaderc-spirv-tools-$SHADERC_SPIRVTOOLS.tar.gz" "https://github.com/KhronosGroup/SPIRV-Tools/archive/$SHADERC_SPIRVTOOLS.tar.gz" \ - -o "KDDockWidgets-$KDDOCKWIDGETS.tar.gz" "https://github.com/KDAB/KDDockWidgets/archive/v$KDDOCKWIDGETS.tar.gz" + -o "KDDockWidgets-$KDDOCKWIDGETS.tar.gz" "https://github.com/KDAB/KDDockWidgets/archive/v$KDDOCKWIDGETS.tar.gz" \ + -o "plutovg-$PLUTOVG.tar.gz" "https://github.com/sammycage/plutovg/archive/v$PLUTOVG.tar.gz" \ + -o "plutosvg-$PLUTOSVG.tar.gz" "https://github.com/sammycage/plutosvg/archive/v$PLUTOSVG.tar.gz" shasum -a 256 --check SHASUMS @@ -335,6 +341,24 @@ make -C build "-j$NPROCS" make -C build install cd .. +echo "Building PlutoVG..." +rm -fr "plutovg-$PLUTOVG" +tar xf "plutovg-$PLUTOVG.tar.gz" +cd "plutovg-$PLUTOVG" +cmake "${CMAKE_COMMON[@]}" -DBUILD_SHARED_LIBS=ON -DPLUTOVG_BUILD_EXAMPLES=OFF -B build +make -C build "-j$NPROCS" +make -C build install +cd .. + +echo "Building PlutoSVG..." +rm -fr "plutosvg-$PLUTOSVG" +tar xf "plutosvg-$PLUTOSVG.tar.gz" +cd "plutosvg-$PLUTOSVG" +cmake "${CMAKE_COMMON[@]}" -DBUILD_SHARED_LIBS=ON -DPLUTOSVG_ENABLE_FREETYPE=ON -DPLUTOSVG_BUILD_EXAMPLES=OFF -B build +make -C build "-j$NPROCS" +make -C build install +cd .. + echo "Cleaning up..." cd .. rm -rf deps-build diff --git a/.github/workflows/scripts/windows/build-dependencies-arm64.bat b/.github/workflows/scripts/windows/build-dependencies-arm64.bat index dda956973a..5283dd1992 100644 --- a/.github/workflows/scripts/windows/build-dependencies-arm64.bat +++ b/.github/workflows/scripts/windows/build-dependencies-arm64.bat @@ -55,6 +55,8 @@ set ZLIB=1.3.1 set ZLIBSHORT=131 set ZSTD=1.5.7 set KDDOCKWIDGETS=2.2.3 +set PLUTOVG=0.0.13 +set PLUTOSVG=0.0.6 set SHADERC=2024.1 set SHADERC_GLSLANG=142052fa30f9eca191aa9dcf65359fcaed09eeec @@ -76,6 +78,8 @@ call :downloadfile "qttranslations-everywhere-src-%QT%.zip" "https://download.qt call :downloadfile "zlib%ZLIBSHORT%.zip" "https://zlib.net/zlib%ZLIBSHORT%.zip" 72af66d44fcc14c22013b46b814d5d2514673dda3d115e64b690c1ad636e7b17 || goto error call :downloadfile "zstd-%ZSTD%.zip" "https://github.com/facebook/zstd/archive/refs/tags/v%ZSTD%.zip" 7897bc5d620580d9b7cd3539c44b59d78f3657d33663fe97a145e07b4ebd69a4 || goto error call :downloadfile "KDDockWidgets-%KDDOCKWIDGETS%.zip" "https://github.com/KDAB/KDDockWidgets/archive/v%KDDOCKWIDGETS%.zip" 1ba8e5b48f3b4d47d2de7121529d448532200fa36d9ed21f93909f6eb03f61cb || goto error +call :downloadfile "plutovg-%PLUTOVG%.zip" "https://github.com/sammycage/plutovg/archive/v%PLUTOVG%.zip" e313baaa7c934503ef601c909661a84e5b795dfa12f0354721cac7a9c27be47e || goto error +call :downloadfile "plutosvg-%PLUTOSVG%.zip" "https://github.com/sammycage/plutosvg/archive/v%PLUTOSVG%.zip" 24826a70d0b168a66eb16ec9d7eeeba0d4ca9d4babc1199889d374918008426e || goto error call :downloadfile "shaderc-%SHADERC%.zip" "https://github.com/google/shaderc/archive/refs/tags/v%SHADERC%.zip" 6c9f42ed6bf42750f5369b089909abfdcf0101488b4a1f41116d5159d00af8e7 || goto error call :downloadfile "shaderc-glslang-%SHADERC_GLSLANG%.zip" "https://github.com/KhronosGroup/glslang/archive/%SHADERC_GLSLANG%.zip" 03ad8a6fa987af4653d0cfe6bdaed41bcf617f1366a151fb1574da75950cd3e8 || goto error @@ -252,6 +256,24 @@ cmake --build build --parallel || goto error ninja -C build install || goto error cd .. || goto error +echo "Building PlutoVG..." +rmdir /S /Q "plutovg-%PLUTOVG%" +%SEVENZIP% x "plutovg-%PLUTOVG%.zip" || goto error +cd "plutovg-%PLUTOVG%" || goto error +cmake %ARM64TOOLCHAIN% -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DPLUTOVG_BUILD_EXAMPLES=OFF -B build -G Ninja || goto error +cmake --build build --parallel || goto error +ninja -C build install || goto error +cd .. || goto error + +echo "Building PlutoSVG..." +rmdir /S /Q "plutosvg-%PLUTOSVG%" +%SEVENZIP% x "plutosvg-%PLUTOSVG%.zip" || goto error +cd "plutosvg-%PLUTOSVG%" || goto error +cmake %ARM64TOOLCHAIN% -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DPLUTOSVG_ENABLE_FREETYPE=ON -DPLUTOSVG_BUILD_EXAMPLES=OFF -B build -G Ninja || goto error +cmake --build build --parallel || goto error +ninja -C build install || goto error +cd .. || goto error + echo Building shaderc... rmdir /S /Q "shaderc-%SHADERC%" %SEVENZIP% x "shaderc-%SHADERC%.zip" || goto error diff --git a/.github/workflows/scripts/windows/build-dependencies.bat b/.github/workflows/scripts/windows/build-dependencies.bat index ccb94725a2..05d7e36640 100644 --- a/.github/workflows/scripts/windows/build-dependencies.bat +++ b/.github/workflows/scripts/windows/build-dependencies.bat @@ -53,6 +53,8 @@ set ZLIB=1.3.1 set ZLIBSHORT=131 set ZSTD=1.5.7 set KDDOCKWIDGETS=2.2.3 +set PLUTOVG=0.0.13 +set PLUTOSVG=0.0.6 set SHADERC=2024.1 set SHADERC_GLSLANG=142052fa30f9eca191aa9dcf65359fcaed09eeec @@ -74,6 +76,8 @@ call :downloadfile "qttranslations-everywhere-src-%QT%.zip" "https://download.qt call :downloadfile "zlib%ZLIBSHORT%.zip" "https://zlib.net/zlib%ZLIBSHORT%.zip" 72af66d44fcc14c22013b46b814d5d2514673dda3d115e64b690c1ad636e7b17 || goto error call :downloadfile "zstd-%ZSTD%.zip" "https://github.com/facebook/zstd/archive/refs/tags/v%ZSTD%.zip" 7897bc5d620580d9b7cd3539c44b59d78f3657d33663fe97a145e07b4ebd69a4 || goto error call :downloadfile "KDDockWidgets-%KDDOCKWIDGETS%.zip" "https://github.com/KDAB/KDDockWidgets/archive/v%KDDOCKWIDGETS%.zip" 1ba8e5b48f3b4d47d2de7121529d448532200fa36d9ed21f93909f6eb03f61cb || goto error +call :downloadfile "plutovg-%PLUTOVG%.zip" "https://github.com/sammycage/plutovg/archive/v%PLUTOVG%.zip" e313baaa7c934503ef601c909661a84e5b795dfa12f0354721cac7a9c27be47e || goto error +call :downloadfile "plutosvg-%PLUTOSVG%.zip" "https://github.com/sammycage/plutosvg/archive/v%PLUTOSVG%.zip" 24826a70d0b168a66eb16ec9d7eeeba0d4ca9d4babc1199889d374918008426e || goto error call :downloadfile "shaderc-%SHADERC%.zip" "https://github.com/google/shaderc/archive/refs/tags/v%SHADERC%.zip" 6c9f42ed6bf42750f5369b089909abfdcf0101488b4a1f41116d5159d00af8e7 || goto error call :downloadfile "shaderc-glslang-%SHADERC_GLSLANG%.zip" "https://github.com/KhronosGroup/glslang/archive/%SHADERC_GLSLANG%.zip" 03ad8a6fa987af4653d0cfe6bdaed41bcf617f1366a151fb1574da75950cd3e8 || goto error @@ -256,6 +260,24 @@ cmake --build build --parallel || goto error ninja -C build install || goto error cd .. || goto error +echo "Building PlutoVG..." +rmdir /S /Q "plutovg-%PLUTOVG%" +%SEVENZIP% x "plutovg-%PLUTOVG%.zip" || goto error +cd "plutovg-%PLUTOVG%" || goto error +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DPLUTOVG_BUILD_EXAMPLES=OFF -B build -G Ninja || goto error +cmake --build build --parallel || goto error +ninja -C build install || goto error +cd .. || goto error + +echo "Building PlutoSVG..." +rmdir /S /Q "plutosvg-%PLUTOSVG%" +%SEVENZIP% x "plutosvg-%PLUTOSVG%.zip" || goto error +cd "plutosvg-%PLUTOSVG%" || goto error +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DPLUTOSVG_ENABLE_FREETYPE=ON -DPLUTOSVG_BUILD_EXAMPLES=OFF -B build -G Ninja || goto error +cmake --build build --parallel || goto error +ninja -C build install || goto error +cd .. || goto error + echo Building shaderc... rmdir /S /Q "shaderc-%SHADERC%" %SEVENZIP% x "shaderc-%SHADERC%.zip" || goto error diff --git a/3rdparty/imgui/CMakeLists.txt b/3rdparty/imgui/CMakeLists.txt index 06495fd334..afaebb805c 100644 --- a/3rdparty/imgui/CMakeLists.txt +++ b/3rdparty/imgui/CMakeLists.txt @@ -19,6 +19,7 @@ add_library(imgui target_include_directories(imgui PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") target_include_directories(imgui PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src") target_link_libraries(imgui PUBLIC Freetype::Freetype) +target_link_libraries(imgui PUBLIC plutosvg::plutosvg) # Needed for macOS compile. set_property(TARGET imgui PROPERTY CXX_STANDARD 17) diff --git a/3rdparty/imgui/imgui.vcxproj b/3rdparty/imgui/imgui.vcxproj index e9bf80b6d0..3eeb667ba4 100644 --- a/3rdparty/imgui/imgui.vcxproj +++ b/3rdparty/imgui/imgui.vcxproj @@ -33,7 +33,7 @@ %(PreprocessorDefinitions) TurnOffAllWarnings - $(ProjectDir)include;$(ProjectDir)src;$(SolutionDir)deps\include\freetype2;%(AdditionalIncludeDirectories) + $(ProjectDir)include;$(ProjectDir)src;$(SolutionDir)deps\include\freetype2;$(SolutionDir)deps\include\plutovg;$(SolutionDir)deps\include\plutosvg;%(AdditionalIncludeDirectories) diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake index 01fbe240f1..603e89fd98 100644 --- a/cmake/SearchForStuff.cmake +++ b/cmake/SearchForStuff.cmake @@ -19,6 +19,8 @@ find_package(LZ4 REQUIRED) find_package(WebP REQUIRED) # v1.3.2, spews an error on Linux because no pkg-config. find_package(SDL3 3.2.6 REQUIRED) find_package(Freetype 2.11.1 REQUIRED) +find_package(plutovg 0.0.13 REQUIRED) +find_package(plutosvg 0.0.6 REQUIRED) if(USE_VULKAN) find_package(Shaderc REQUIRED) diff --git a/common/vsprops/LinkPCSX2Deps.props b/common/vsprops/LinkPCSX2Deps.props index 7cb1add662..a68013cc6d 100644 --- a/common/vsprops/LinkPCSX2Deps.props +++ b/common/vsprops/LinkPCSX2Deps.props @@ -4,7 +4,7 @@ $(DepsLibDir);%(AdditionalLibraryDirectories) - %(AdditionalDependencies);freetype.lib;jpeg.lib;libpng16.lib;libwebp.lib;lz4.lib;SDL3.lib;zlib.lib;zstd.lib;kddockwidgets-qt62.lib + %(AdditionalDependencies);freetype.lib;jpeg.lib;libpng16.lib;libwebp.lib;lz4.lib;SDL3.lib;zlib.lib;zstd.lib;kddockwidgets-qt62.lib;plutovg.lib;plutosvg.lib @@ -20,6 +20,8 @@ + + + %(AdditionalIncludeDirectories);$(DepsIncludeDir)\plutovg;$(DepsIncludeDir)\plutosvg %(AdditionalIncludeDirectories);$(DepsIncludeDir)\SDL3 %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\include %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\fmt\include