Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ jobs:
- name: Build GTK4
if: matrix.gtk-version == '4'
run: > # Use -j2 option to prevent out of memory errors with GitHub Action runners
uv run gvsbuild build --ninja-opts -j2 --enable-gi --py-wheel gtk4 libadwaita gtksourceview5 pygobject
uv run gvsbuild build --ninja-opts -j2 --enable-gi --py-wheel gtk4 libadwaita gtksourceview5 pygobject protobuf-c
adwaita-icon-theme gtkmm
- name: Copy wheel files
run: |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
From f20ed3666efe28d94bcfe198f924c2f1044816ba Mon Sep 17 00:00:00 2001
From: Dario Marino Saccavino <dmsaccav@amazon.com>
Date: Fri, 16 Jan 2026 11:14:02 +0100
Subject: [PATCH] cmake: Replace usage of generator expression with target
property

In the definition of `PROTOBUF_PROTOC_EXECUTABLE`, replace the `$<TARGET_FILE>`
expression with the target's `LOCATION` property.

On MSVC, cmake copies to the build directory the shared libraries that are
in the same directory as protoc.exe. The copy happens at configure time,
when generator expressions cannot be used.
---
build-cmake/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build-cmake/CMakeLists.txt b/build-cmake/CMakeLists.txt
index 83526e5..b077ebf 100644
--- a/build-cmake/CMakeLists.txt
+++ b/build-cmake/CMakeLists.txt
@@ -18,7 +18,7 @@ endif()
find_package(Protobuf CONFIG)
if(Protobuf_FOUND)
# Keep compatibility with FindProtobuf CMake module
- set(PROTOBUF_PROTOC_EXECUTABLE $<TARGET_FILE:protobuf::protoc>)
+ get_target_property(PROTOBUF_PROTOC_EXECUTABLE protobuf::protoc LOCATION)
get_target_property(PROTOBUF_INCLUDE_DIR protobuf::libprotobuf INTERFACE_INCLUDE_DIRECTORIES)
else()
message(STATUS "Protobuf CMake config not found fallback to Cmake Module")
--
2.50.1 (Apple Git-155)

6 changes: 3 additions & 3 deletions gvsbuild/projects/abseil.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ def __init__(self):
Project.__init__(
self,
"abseil-cpp",
version="20250512.1",
version="20260107.1",
repository="https://github.com/abseil/abseil-cpp",
archive_url="https://github.com/abseil/abseil-cpp/releases/download/{version}/abseil-cpp-{version}.tar.gz",
hash="9b7a064305e9fd94d124ffa6cc358592eb42b5da588fb4e07d09254aa40086db",
hash="4314e2a7cbac89cac25a2f2322870f343d81579756ceff7f431803c2c9090195",
dependencies=[
"cmake",
"ninja",
Expand All @@ -38,6 +38,6 @@ def __init__(self):
def build(self):
CmakeProject.build(
self,
cmake_params=r"-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON",
cmake_params=r"-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON",
use_ninja=True,
)
11 changes: 7 additions & 4 deletions gvsbuild/projects/protobuf.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ def __init__(self):
Project.__init__(
self,
"protobuf",
version="25.1",
version="33.5",
repository="https://github.com/protocolbuffers/protobuf",
archive_url="https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protobuf-{version}.tar.gz",
hash="9bd87b8280ef720d3240514f884e56a712f2218f0d693b48050c836028940a42",
hash="c6c7c27fadc19d40ab2eaa23ff35debfe01f6494a8345559b9bb285ce4144dd1",
dependencies=[
"abseil-cpp",
"cmake",
Expand All @@ -40,7 +40,7 @@ def build(self):
# We need to compile with STATIC_RUNTIME off since protobuf-c also compiles with it OFF
CmakeProject.build(
self,
cmake_params=r'-DBUILD_SHARED_LIBS=ON -Dprotobuf_ABSL_PROVIDER=package -Dprotobuf_DEBUG_POSTFIX="" -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_WITH_ZLIB=ON -Dprotobuf_MSVC_STATIC_RUNTIME=OFF',
cmake_params=r'-DBUILD_SHARED_LIBS=ON -Dprotobuf_ABSL_PROVIDER=package -Dprotobuf_DEBUG_POSTFIX="" -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_WITH_ZLIB=ON -Dprotobuf_MSVC_STATIC_RUNTIME=OFF -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON',
use_ninja=True,
)

Expand All @@ -63,12 +63,15 @@ def __init__(self):
"protobuf",
"ninja",
],
patches=[
"0001-cmake-Replace-generator-expression.patch",
],
)

def build(self):
CmakeProject.build(
self,
cmake_params="-DBUILD_SHARED_LIBS=ON",
cmake_params="-DBUILD_SHARED_LIBS=ON -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON",
use_ninja=True,
source_part="build-cmake",
)
Expand Down