From f4d111c7e96419a9f70b3443c802835c8a38f8c0 Mon Sep 17 00:00:00 2001 From: Robear Selwans Date: Mon, 7 Jul 2025 10:37:36 +0300 Subject: [PATCH] Fixed shaderc building Signed-off-by: Robear Selwans --- .../packagefiles/libshaderc_old/meson.build | 13 ------------- subprojects/packagefiles/shaderc/cmake_fix.diff | 17 +++++++++++++++++ .../{libshaderc => shaderc}/meson.build | 2 +- .../packagefiles/shaderc/shaderc_cmake.wrap | 10 ++++++++++ .../shaderc/subprojects/shaderc_cmake.wrap | 10 ++++++++++ .../packagefiles/shaderc_cmake/meson.build | 1 - subprojects/shaderc.wrap | 12 ++++++++++++ subprojects/shaderc_cmake.wrap | 12 ++---------- subprojects/shaderc_old.wrap | 12 ------------ 9 files changed, 52 insertions(+), 37 deletions(-) delete mode 100644 subprojects/packagefiles/libshaderc_old/meson.build create mode 100644 subprojects/packagefiles/shaderc/cmake_fix.diff rename subprojects/packagefiles/{libshaderc => shaderc}/meson.build (93%) create mode 100644 subprojects/packagefiles/shaderc/shaderc_cmake.wrap create mode 100644 subprojects/packagefiles/shaderc/subprojects/shaderc_cmake.wrap delete mode 100644 subprojects/packagefiles/shaderc_cmake/meson.build create mode 100644 subprojects/shaderc.wrap delete mode 100644 subprojects/shaderc_old.wrap diff --git a/subprojects/packagefiles/libshaderc_old/meson.build b/subprojects/packagefiles/libshaderc_old/meson.build deleted file mode 100644 index 1392216..0000000 --- a/subprojects/packagefiles/libshaderc_old/meson.build +++ /dev/null @@ -1,13 +0,0 @@ -project('libshaderc', 'cpp', default_options: ['buildtype=release', 'default_library=static']) - -fs = import('fs') -cxxc = meson.get_compiler('cpp') - -shaderc_inc = include_directories('install/include') - -shaderc_dep = declare_dependency( - dependencies: cxxc.find_library('shaderc_combined', dirs: meson.current_source_dir()/'install/lib'), - include_directories: shaderc_inc, -) - -meson.override_dependency('shaderc', shaderc_dep) diff --git a/subprojects/packagefiles/shaderc/cmake_fix.diff b/subprojects/packagefiles/shaderc/cmake_fix.diff new file mode 100644 index 0000000..c3382db --- /dev/null +++ b/subprojects/packagefiles/shaderc/cmake_fix.diff @@ -0,0 +1,17 @@ +diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt +index d44f62a..16bad95 100644 +--- a/third_party/CMakeLists.txt ++++ b/third_party/CMakeLists.txt +@@ -87,7 +87,11 @@ if (NOT TARGET glslang) + # Glslang tests are off by default. Turn them on if testing Shaderc. + set(GLSLANG_TESTS ON) + endif() +- set(GLSLANG_ENABLE_INSTALL $) ++ if (${SKIP_GLSLANG_INSTALL}) ++ set(GLSLANG_ENABLE_INSTALL OFF) ++ else() ++ set(GLSLANG_ENABLE_INSTALL ON) ++ endif() + add_subdirectory(${SHADERC_GLSLANG_DIR} glslang) + endif() + if (NOT TARGET glslang) diff --git a/subprojects/packagefiles/libshaderc/meson.build b/subprojects/packagefiles/shaderc/meson.build similarity index 93% rename from subprojects/packagefiles/libshaderc/meson.build rename to subprojects/packagefiles/shaderc/meson.build index c7017a0..01e75e8 100644 --- a/subprojects/packagefiles/libshaderc/meson.build +++ b/subprojects/packagefiles/shaderc/meson.build @@ -13,7 +13,7 @@ opts.add_cmake_defines({ 'SHADERC_SKIP_EXAMPLES': 'ON', 'SHADERC_SKIP_COPYRIGHT_CHECK': 'ON' }) -shaderc_proj = cmake.subproject('shaderc', options: opts) +shaderc_proj = cmake.subproject('shaderc_cmake', options: opts) shaderc_dep = declare_dependency(dependencies: [ shaderc_proj.dependency('shaderc'), shaderc_proj.dependency('shaderc_util'), diff --git a/subprojects/packagefiles/shaderc/shaderc_cmake.wrap b/subprojects/packagefiles/shaderc/shaderc_cmake.wrap new file mode 100644 index 0000000..a968ff8 --- /dev/null +++ b/subprojects/packagefiles/shaderc/shaderc_cmake.wrap @@ -0,0 +1,10 @@ +[wrap-git] +directory = shaderc +url = https://github.com/google/shaderc +revision = v2024.4 +depth=1 + +; patch_directory = shaderc_cmake +; +; [provide] +; dependency_names = shaderc_cmake diff --git a/subprojects/packagefiles/shaderc/subprojects/shaderc_cmake.wrap b/subprojects/packagefiles/shaderc/subprojects/shaderc_cmake.wrap new file mode 100644 index 0000000..a968ff8 --- /dev/null +++ b/subprojects/packagefiles/shaderc/subprojects/shaderc_cmake.wrap @@ -0,0 +1,10 @@ +[wrap-git] +directory = shaderc +url = https://github.com/google/shaderc +revision = v2024.4 +depth=1 + +; patch_directory = shaderc_cmake +; +; [provide] +; dependency_names = shaderc_cmake diff --git a/subprojects/packagefiles/shaderc_cmake/meson.build b/subprojects/packagefiles/shaderc_cmake/meson.build deleted file mode 100644 index a548478..0000000 --- a/subprojects/packagefiles/shaderc_cmake/meson.build +++ /dev/null @@ -1 +0,0 @@ -project('shaderc_cmake', 'cpp') diff --git a/subprojects/shaderc.wrap b/subprojects/shaderc.wrap new file mode 100644 index 0000000..d1248f9 --- /dev/null +++ b/subprojects/shaderc.wrap @@ -0,0 +1,12 @@ +[wrap-git] +directory = shaderc + +url = https://github.com/google/shaderc +revision = v2024.4 +depth=1 +patch_directory = shaderc + +diff_files = shaderc/cmake_fix.diff + +[provide] +dependency_names = shaderc diff --git a/subprojects/shaderc_cmake.wrap b/subprojects/shaderc_cmake.wrap index e9730b7..7a06c7e 100644 --- a/subprojects/shaderc_cmake.wrap +++ b/subprojects/shaderc_cmake.wrap @@ -1,10 +1,2 @@ -[wrap-git] -directory = shaderc_cmake - -url = https://github.com/google/shaderc -revision = v2024.4 -depth=1 -patch_directory = shaderc_cmake - -[provide] -dependency_names = shaderc_cmake +[wrap-redirect] +filename = shaderc/subprojects/shaderc_cmake.wrap diff --git a/subprojects/shaderc_old.wrap b/subprojects/shaderc_old.wrap deleted file mode 100644 index a33fb3f..0000000 --- a/subprojects/shaderc_old.wrap +++ /dev/null @@ -1,12 +0,0 @@ -[wrap-file] -directory = libshaderc_old - -source_url = https://storage.googleapis.com/shaderc/artifacts/prod/graphics_shader_compiler/shaderc/windows/continuous_release_2019/64/20241106-090939/install.zip -source_filename = libshaderc-upstream-msvc.zip -source_hash = a6879869e580d5991ebd9909f3665d1f6fe39cdb9830adf4f48b35dfd3782a78 -lead_directory_missing = libshaderc - -patch_directory = libshaderc_old - -[provide] -dependency_names = shaderc_old