Skip to content

bump dependencies #837

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
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
3 changes: 3 additions & 0 deletions .github/actions/build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ runs:
- uses: lukka/[email protected]

- uses: lukka/run-vcpkg@v11
with:
vcpkgJsonGlob: './vcpkg.json'


- uses: actions/cache@v4
with:
Expand Down
3 changes: 3 additions & 0 deletions vcpkg-configuration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"overlay-ports": ["./vcpkg-overlays" ]
}
25 changes: 25 additions & 0 deletions vcpkg-overlays/protobuf-c/fix-crt-linkage.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
diff --git a/build-cmake/CMakeLists.txt b/build-cmake/CMakeLists.txt
index 98b51eb..0243b80 100644
--- a/build-cmake/CMakeLists.txt
+++ b/build-cmake/CMakeLists.txt
@@ -74,11 +74,6 @@ if(MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4267 /wd4244")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4244")

- # Allow matching protobuf runtime dependency
- if(NOT BUILD_SHARED_LIBS)
- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
- endif(NOT BUILD_SHARED_LIBS)
-
endif()

get_filename_component(MAIN_DIR ${CMAKE_CURRENT_SOURCE_DIR} PATH)
@@ -103,7 +98,7 @@ if(BUILD_PROTOC)
include_directories(${CMAKE_CURRENT_BINARY_DIR}) # for generated files
endif()

-if(MSVC AND NOT BUILD_SHARED_LIBS)
+if (0)
# In case we are building static libraries, link also the runtime library
# statically so that MSVCR*.DLL is not required at runtime.
# https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx This is achieved by
13 changes: 13 additions & 0 deletions vcpkg-overlays/protobuf-c/fix-dependency-protobuf.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/build-cmake/CMakeLists.txt b/build-cmake/CMakeLists.txt
index ba0b730..a5161cf 100644
--- a/build-cmake/CMakeLists.txt
+++ b/build-cmake/CMakeLists.txt
@@ -15,7 +15,7 @@ if(MSVC AND NOT BUILD_SHARED_LIBS)
set(Protobuf_USE_STATIC_LIBS ON)
endif()

-find_package(Protobuf CONFIG)
+find_package(Protobuf CONFIG)
if(Protobuf_FOUND)
# Keep compatibility with FindProtobuf CMake module
set(PROTOBUF_PROTOC_EXECUTABLE $<TARGET_FILE:protobuf::protoc>)
48 changes: 48 additions & 0 deletions vcpkg-overlays/protobuf-c/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO protobuf-c/protobuf-c
REF v${VERSION}
SHA512 009b8f45aade52cccf3177de88a5357c72b1626b8d07acee17da5ad1ed0e9f6a2e24d921e673b14323331e3b25fe2556f49b437d5e071e77c385efdd72ea5fe3
HEAD_REF master
PATCHES
fix-crt-linkage.patch
fix-dependency-protobuf.patch
)

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
tools BUILD_PROTOC
test BUILD_TESTS
)

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/build-cmake"
DISABLE_PARALLEL_CONFIGURE
OPTIONS ${FEATURE_OPTIONS}
)

vcpkg_cmake_install(ADD_BIN_TO_PATH)
vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()

if("tools" IN_LIST FEATURES)
vcpkg_copy_tools(
TOOL_NAMES protoc-gen-c
AUTO_CLEAN
)
endif()

vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/protobuf-c")

# Include files should not be duplicated into the /debug/include directory.
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")

# Remove duplicate PDB files (vcpkg_copy_pdbs already copied them to "bin")
file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/protobuf-c.pdb")
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/protobuf-c.pdb")
if(NOT VCPKG_TARGET_IS_WINDOWS)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()

# Handle copyright
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
33 changes: 33 additions & 0 deletions vcpkg-overlays/protobuf-c/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"name": "protobuf-c",
"version-semver": "1.5.1",
"description": "This is protobuf-c, a C implementation of the Google Protocol Buffers data serialization format.",
"homepage": "https://github.com/protobuf-c/protobuf-c",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"test": {
"description": "Build test project.",
"dependencies": [
{
"name": "protobuf-c",
"features": [
"tools"
]
}
]
},
"tools": {
"description": "Build tools (protoc-gen-c).",
"supports": "!uwp"
}
}
}
2 changes: 1 addition & 1 deletion vcpkg.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,5 @@
]
}
},
"builtin-baseline": "b322364f06308bdd24823f9d8f03fe0cc86fd46f"
"builtin-baseline": "b02e341c927f16d991edbd915d8ea43eac52096c"
}
Loading