mirror of https://github.com/microsoft/vcpkg.git
[aeron] update to 1.52.2 (#52870)
This commit is contained in:
parent
6b8b73b15b
commit
bba6df8c9d
|
|
@ -1,10 +1,26 @@
|
|||
diff --git a/aeron-config.cmake.in b/aeron-config.cmake.in
|
||||
index 770c80c..31be745 100644
|
||||
--- a/aeron-config.cmake.in
|
||||
+++ b/aeron-config.cmake.in
|
||||
@@ -4,6 +4,10 @@ include(CMakeFindDependencyMacro)
|
||||
find_package(Threads)
|
||||
find_package(Java)
|
||||
|
||||
+if (@AERON_VCPKG_LIBUUID@)
|
||||
+ find_dependency(unofficial-libuuid CONFIG)
|
||||
+endif ()
|
||||
+
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/aeron-targets.cmake")
|
||||
|
||||
check_required_components(aeron)
|
||||
\ No newline at end of file
|
||||
diff --git a/aeron-driver/src/main/c/CMakeLists.txt b/aeron-driver/src/main/c/CMakeLists.txt
|
||||
index 1234567..abcdefg 100644
|
||||
index bcd9a48..06f9f3e 100644
|
||||
--- a/aeron-driver/src/main/c/CMakeLists.txt
|
||||
+++ b/aeron-driver/src/main/c/CMakeLists.txt
|
||||
@@ -36,15 +36,39 @@ if (NOT MSVC)
|
||||
@@ -36,15 +36,42 @@ if (NOT MSVC)
|
||||
endif ()
|
||||
|
||||
|
||||
check_include_file("bsd/stdlib.h" BSDSTDLIB_H_EXISTS)
|
||||
-check_include_file("uuid/uuid.h" UUID_H_EXISTS)
|
||||
find_library(LIBBSD_EXISTS NAMES bsd libbsd)
|
||||
|
|
@ -22,6 +38,9 @@ index 1234567..abcdefg 100644
|
|||
+ list(APPEND CMAKE_REQUIRED_LIBRARIES "unofficial::UUID::uuid")
|
||||
+ set(LIBUUID_EXISTS TRUE)
|
||||
+ set(AERON_LIB_UUID_LIBS "unofficial::UUID::uuid")
|
||||
+ # The imported target leaks into the exported aeron targets, so the package config
|
||||
+ # has to pull it back in via find_dependency().
|
||||
+ set(AERON_VCPKG_LIBUUID ON CACHE INTERNAL "")
|
||||
+ set(UUID_H_EXISTS TRUE)
|
||||
+ set(UUID_GENERATE_PROTOTYPE_EXISTS TRUE)
|
||||
+ endif()
|
||||
|
|
@ -35,39 +54,39 @@ index 1234567..abcdefg 100644
|
|||
+if(NOT DEFINED UUID_H_EXISTS OR NOT UUID_H_EXISTS)
|
||||
+ check_include_file("uuid/uuid.h" UUID_H_EXISTS)
|
||||
+endif()
|
||||
|
||||
|
||||
if (LIBBSD_EXISTS)
|
||||
set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES} -lbsd")
|
||||
endif ()
|
||||
|
||||
|
||||
-if (LIBUUID_EXISTS)
|
||||
+if (LIBUUID_EXISTS AND NOT AERON_LIB_UUID_LIBS)
|
||||
set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES} -luuid")
|
||||
endif ()
|
||||
|
||||
@@ -64,7 +88,9 @@ if (MSVC AND "${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
|
||||
|
||||
@@ -64,7 +91,9 @@ if (MSVC AND "${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
|
||||
set(WSAPOLL_PROTOTYPE_EXISTS True)
|
||||
endif ()
|
||||
|
||||
|
||||
-check_symbol_exists(uuid_generate "uuid/uuid.h" UUID_GENERATE_PROTOTYPE_EXISTS)
|
||||
+if(NOT DEFINED UUID_GENERATE_PROTOTYPE_EXISTS OR NOT UUID_GENERATE_PROTOTYPE_EXISTS)
|
||||
+ check_symbol_exists(uuid_generate "uuid/uuid.h" UUID_GENERATE_PROTOTYPE_EXISTS)
|
||||
+endif()
|
||||
|
||||
|
||||
check_symbol_exists(poll "poll.h" POLL_PROTOTYPE_EXISTS)
|
||||
check_symbol_exists(epoll_create "sys/epoll.h" EPOLL_PROTOTYPE_EXISTS)
|
||||
@@ -387,7 +413,7 @@ if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
||||
@@ -410,7 +439,7 @@ if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
||||
set(AERON_LIB_BSD_LIBS bsd)
|
||||
endif ()
|
||||
|
||||
|
||||
- if (LIBUUID_EXISTS)
|
||||
+ if (LIBUUID_EXISTS AND NOT AERON_LIB_UUID_LIBS)
|
||||
set(AERON_LIB_UUID_LIBS uuid)
|
||||
endif ()
|
||||
|
||||
@@ -400,7 +426,7 @@ if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
||||
|
||||
@@ -422,7 +451,7 @@ if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
||||
endif ()
|
||||
|
||||
|
||||
if (CYGWIN)
|
||||
- if (LIBUUID_EXISTS)
|
||||
+ if (LIBUUID_EXISTS AND NOT AERON_LIB_UUID_LIBS)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,58 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index febb611..042fd02 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -58,6 +58,14 @@ option(AERON_INSTALL_TARGETS "Enable installation step" ${STANDALONE_BUILD})
|
||||
|
||||
unset(STANDALONE_BUILD)
|
||||
|
||||
+# Linkage of the primary (non "_static") library targets. Honour BUILD_SHARED_LIBS when it is set
|
||||
+# explicitly, so that a static-only install does not export targets referring to missing shared libraries.
|
||||
+if (DEFINED BUILD_SHARED_LIBS AND NOT BUILD_SHARED_LIBS)
|
||||
+ set(AERON_LIB_LINKAGE STATIC)
|
||||
+else ()
|
||||
+ set(AERON_LIB_LINKAGE SHARED)
|
||||
+endif ()
|
||||
+
|
||||
# CMAKE_OSX_ARCHITECTURES can be set to arm64 or x86_64 (or both) to make a specific architecture version. Requires
|
||||
# CMake 3.21. Must be set before project(), etc.
|
||||
#set(CMAKE_OSX_ARCHITECTURES x86_64)
|
||||
diff --git a/aeron-archive/src/main/c/CMakeLists.txt b/aeron-archive/src/main/c/CMakeLists.txt
|
||||
index 5e6af48..8245ba4 100644
|
||||
--- a/aeron-archive/src/main/c/CMakeLists.txt
|
||||
+++ b/aeron-archive/src/main/c/CMakeLists.txt
|
||||
@@ -189,7 +189,7 @@ SET(HEADERS
|
||||
)
|
||||
|
||||
# shared library
|
||||
-add_library(aeron_archive_c_client SHARED ${SOURCE} ${HEADERS})
|
||||
+add_library(aeron_archive_c_client ${AERON_LIB_LINKAGE} ${SOURCE} ${HEADERS})
|
||||
add_library(aeron::aeron_archive_c_client ALIAS aeron_archive_c_client)
|
||||
|
||||
add_dependencies(aeron_archive_c_client c_codecs)
|
||||
diff --git a/aeron-client/src/main/c/CMakeLists.txt b/aeron-client/src/main/c/CMakeLists.txt
|
||||
index 761a0b4..b97344b 100644
|
||||
--- a/aeron-client/src/main/c/CMakeLists.txt
|
||||
+++ b/aeron-client/src/main/c/CMakeLists.txt
|
||||
@@ -237,7 +237,7 @@ set(HEADERS
|
||||
aeron_windows.h
|
||||
aeronc.h)
|
||||
|
||||
-add_library(aeron SHARED ${SOURCE} ${HEADERS})
|
||||
+add_library(aeron ${AERON_LIB_LINKAGE} ${SOURCE} ${HEADERS})
|
||||
add_library(aeron::aeron ALIAS aeron)
|
||||
target_include_directories(aeron
|
||||
PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>" "$<INSTALL_INTERFACE:include/aeron>")
|
||||
diff --git a/aeron-driver/src/main/c/CMakeLists.txt b/aeron-driver/src/main/c/CMakeLists.txt
|
||||
index 06f9f3e..80bc99e 100644
|
||||
--- a/aeron-driver/src/main/c/CMakeLists.txt
|
||||
+++ b/aeron-driver/src/main/c/CMakeLists.txt
|
||||
@@ -412,7 +412,7 @@ SET(HEADERS
|
||||
aeron_driver_version.h
|
||||
aeronmd.h)
|
||||
|
||||
-add_library(aeron_driver SHARED ${DRIVER_ONLY_SOURCE} ${HEADERS})
|
||||
+add_library(aeron_driver ${AERON_LIB_LINKAGE} ${DRIVER_ONLY_SOURCE} ${HEADERS})
|
||||
add_library(aeron::aeron_driver ALIAS aeron_driver)
|
||||
target_include_directories(aeron_driver PUBLIC
|
||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${AERON_C_CLIENT_SOURCE_PATH}>"
|
||||
|
|
@ -6,11 +6,12 @@ vcpkg_from_github(
|
|||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO aeron-io/aeron
|
||||
REF "${VERSION}"
|
||||
SHA512 5d51aabeb9305d912534190bf88ddfaf09d842324d908f9a829e91e5acde1327103c4b4e07f0a2e48a3061d193f7b618d9b3fd154abaf8ecb39b9d35efb7b106
|
||||
SHA512 592be81475d19ff5da24dd5c100ddf14da0cee62504c394b5633ac60cbd781279c72c9059e4421862adb3c7162220be7aaa50c783ff05b1f4826870dff346f1c
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
patches/add-libuuid-vcpkg-support.patch
|
||||
patches/fix-static-crt-linkage.patch
|
||||
patches/fix-library-linkage.patch
|
||||
)
|
||||
|
||||
# Set archive option based on feature
|
||||
|
|
@ -33,26 +34,8 @@ vcpkg_cmake_install()
|
|||
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/aeron)
|
||||
|
||||
# Aeron always builds both static and shared libraries regardless of VCPKG_LIBRARY_LINKAGE.
|
||||
# Handle the shared library artifacts based on linkage type.
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
# For static builds, remove shared library artifacts (DLLs, SOs, DYLIBs and their import libs)
|
||||
file(REMOVE
|
||||
"${CURRENT_PACKAGES_DIR}/lib/aeron.dll"
|
||||
"${CURRENT_PACKAGES_DIR}/lib/aeron_client_shared.dll"
|
||||
"${CURRENT_PACKAGES_DIR}/lib/aeron_driver.dll"
|
||||
"${CURRENT_PACKAGES_DIR}/lib/aeron.lib"
|
||||
"${CURRENT_PACKAGES_DIR}/lib/aeron_client_shared.lib"
|
||||
"${CURRENT_PACKAGES_DIR}/lib/aeron_driver.lib"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/lib/aeron.dll"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/lib/aeron_client_shared.dll"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/lib/aeron_driver.dll"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/lib/aeron.lib"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/lib/aeron_client_shared.lib"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/lib/aeron_driver.lib"
|
||||
)
|
||||
else()
|
||||
# For dynamic builds, move DLLs from lib to bin
|
||||
# Aeron installs DLLs into lib; move them to bin
|
||||
if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll")
|
||||
file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll")
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
|
||||
"name": "aeron",
|
||||
"version": "1.52.0",
|
||||
"version": "1.52.2",
|
||||
"description": "Efficient reliable UDP unicast, UDP multicast, and IPC message transport",
|
||||
"homepage": "https://github.com/aeron-io/aeron",
|
||||
"license": "Apache-2.0",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "cd1e8cf9fa9e3ad5e5a518b41de5ce64dd443b66",
|
||||
"version": "1.52.2",
|
||||
"port-version": 0
|
||||
},
|
||||
{
|
||||
"git-tree": "b66d99b2de16204bea70e6f388570c8610515c1c",
|
||||
"version": "1.52.0",
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@
|
|||
"port-version": 0
|
||||
},
|
||||
"aeron": {
|
||||
"baseline": "1.52.0",
|
||||
"baseline": "1.52.2",
|
||||
"port-version": 0
|
||||
},
|
||||
"air-ctl": {
|
||||
|
|
|
|||
Loading…
Reference in New Issue