From bd97442771cb25f4464a96dfa273c03e9cdd9999 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Fri, 5 Jul 2024 16:12:52 -0600 Subject: [PATCH] Meta: Add vulkan and vulkan-headers to vcpkg dependencies Also require a specific ICU version to not run into unexpected problems. --- .github/actions/setup/action.yml | 4 +++- Meta/CMake/vulkan.cmake | 3 ++- Userland/Libraries/LibCore/CMakeLists.txt | 3 +-- Userland/Libraries/LibUnicode/CMakeLists.txt | 2 +- vcpkg.json | 10 +++++++++- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 37503e015ea..56776a78040 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -25,7 +25,9 @@ runs: sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update - sudo apt-get install autoconf autoconf-archive automake build-essential cmake libavcodec-dev fonts-liberation2 zip curl tar ccache clang-18 clang++-18 lld-18 gcc-13 g++-13 libstdc++-13-dev ninja-build unzip qt6-base-dev qt6-tools-dev-tools libqt6svg6-dev qt6-multimedia-dev libgl1-mesa-dev libpulse-dev libssl-dev libegl1-mesa-dev + sudo apt-get install autoconf autoconf-archive automake build-essential cmake libavcodec-dev fonts-liberation2 zip curl tar ccache clang-18 clang++-18 lld-18 gcc-13 g++-13 libstdc++-13-dev \ + ninja-build unzip qt6-base-dev qt6-tools-dev-tools libqt6svg6-dev qt6-multimedia-dev libgl1-mesa-dev libpulse-dev libssl-dev libegl1-mesa-dev \ + libx11-dev libxrandr-dev sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 100 sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 100 diff --git a/Meta/CMake/vulkan.cmake b/Meta/CMake/vulkan.cmake index be853d8f2b7..e59c9c564f9 100644 --- a/Meta/CMake/vulkan.cmake +++ b/Meta/CMake/vulkan.cmake @@ -1,6 +1,7 @@ if (NOT APPLE) + find_package(VulkanHeaders CONFIG QUIET) find_package(Vulkan QUIET) - if (Vulkan_FOUND) + if (VulkanHeaders_FOUND AND Vulkan_FOUND) set(HAS_VULKAN ON CACHE BOOL "" FORCE) add_compile_definitions(USE_VULKAN=1) endif() diff --git a/Userland/Libraries/LibCore/CMakeLists.txt b/Userland/Libraries/LibCore/CMakeLists.txt index 6b3464c9da2..eb53dd85ec5 100644 --- a/Userland/Libraries/LibCore/CMakeLists.txt +++ b/Userland/Libraries/LibCore/CMakeLists.txt @@ -82,7 +82,6 @@ else() endif() if (HAS_VULKAN) - include_directories(${Vulkan_INCLUDE_DIR}) list(APPEND SOURCES VulkanContext.cpp) endif() @@ -112,5 +111,5 @@ if (ANDROID) endif() if (HAS_VULKAN) - target_link_libraries(LibCore PUBLIC ${Vulkan_LIBRARIES}) + target_link_libraries(LibCore PUBLIC Vulkan::Vulkan Vulkan::Headers) endif() diff --git a/Userland/Libraries/LibUnicode/CMakeLists.txt b/Userland/Libraries/LibUnicode/CMakeLists.txt index e978beb68a1..cc99684d018 100644 --- a/Userland/Libraries/LibUnicode/CMakeLists.txt +++ b/Userland/Libraries/LibUnicode/CMakeLists.txt @@ -26,5 +26,5 @@ set(GENERATED_SOURCES ${CURRENT_LIB_GENERATED}) serenity_lib(LibUnicode unicode) -find_package(ICU REQUIRED COMPONENTS data i18n uc) +find_package(ICU 74 REQUIRED COMPONENTS data i18n uc) target_link_libraries(LibUnicode PRIVATE ICU::i18n ICU::uc ICU::data) diff --git a/vcpkg.json b/vcpkg.json index 4815584f489..b6b76ea3f38 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -32,7 +32,15 @@ "platform": "android" }, "sqlite3", - "woff2" + "woff2", + { + "name": "vulkan", + "platform": "!android" + }, + { + "name": "vulkan-headers", + "platform": "!android" + } ], "overrides": [ {