[fastrtps] Update to 2.14.0 (#38637)

Although the project was rebranded to Fast-DDS, the CMake project kept
the name fastrtps.

- [X] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [X] SHA512s are updated for each updated download.
- [X] The "supports" clause reflects platforms that may be fixed by this
new version.
- [ ] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [X] Any patches that are no longer applied are deleted from the port's
directory.
- [X] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [X] Only one version is added to each modified port's versions file.
This commit is contained in:
René 2024-05-23 08:41:28 +02:00 committed by GitHub
parent 53c5721b00
commit 71a64407c7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 27 additions and 88 deletions

View File

@ -1,23 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7ca47ae..632c38b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,6 +42,18 @@ message(STATUS "Version: ${PROJECT_VERSION}")
###############################################################################
option(EPROSIMA_BUILD "Activate internal building" OFF)
+###############################################################################
+# Replace xtime with _timespec64. As a workround of the unreleased version of
+# MSVC, it will be deleted after release.
+###############################################################################
+if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.37.32705.0")
+ file(READ "${PROJECT_SOURCE_DIR}/include/fastrtps/utils/TimedMutex.hpp" _contents)
+ string(REPLACE "xtime*" "_timespec64*" _contents "${_contents}")
+ file(WRITE "${PROJECT_SOURCE_DIR}/include/fastrtps/utils/TimedMutex.hpp" "${_contents}")
+ endif()
+endif()
+
###############################################################################
# Warning level
###############################################################################

View File

@ -1,40 +0,0 @@
diff --git a/include/fastrtps/utils/TimedMutex.hpp b/include/fastrtps/utils/TimedMutex.hpp
index 8d5d968..7ba3e00 100644
--- a/include/fastrtps/utils/TimedMutex.hpp
+++ b/include/fastrtps/utils/TimedMutex.hpp
@@ -23,10 +23,14 @@
#include <iostream>
#if defined(_WIN32)
+#if defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 193632528
+#include <mutex>
+#else
#include <thread>
extern int clock_gettime(
int,
struct timespec* tv);
+#endif // if defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 193632528
#elif _GTHREAD_USE_MUTEX_TIMEDLOCK
#include <mutex>
#else
@@ -37,6 +41,11 @@ namespace eprosima {
namespace fastrtps {
#if defined(_WIN32)
+
+#if defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 193632528
+using TimedMutex = std::timed_mutex;
+using RecursiveTimedMutex = std::recursive_timed_mutex;
+#else
class TimedMutex
{
public:
@@ -182,6 +191,8 @@ private:
_Mtx_t mutex_;
};
+#endif // if defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 193632528
+
#elif _GTHREAD_USE_MUTEX_TIMEDLOCK || !defined(__unix__)
using TimedMutex = std::timed_mutex;
using RecursiveTimedMutex = std::recursive_timed_mutex;

View File

@ -1,30 +1,28 @@
# https://github.com/eProsima/Fast-DDS/pull/3983
# Could remove after 2.6.6/2.10.2/2.11.2, other minor versions not applied
# Could remove after 2.13 released, or any newer mijor versions
vcpkg_download_distfile(
PR_3983_PATCH
URLS https://github.com/eProsima/Fast-DDS/commit/2601e95429f5676c47c25200e995fb93157e7815.patch?full_index=1
SHA512 440ee6a918d7085b6520613fad1482a9b833ee259e64c8919bdeb43277f3685362e6314380bafc6c51dad46fd16a9b415343e9db28f157d13f76b9af0cb21e8d
FILENAME fastrtps-2601e95429f5676c47c25200e995fb93157e7815.patch
)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO eProsima/Fast-DDS
REF v2.7.0
SHA512 289c94fb177209ffc80e93ae61822c83e7cb74ba7682f05a921c50ce048498bd811c19825d1fdb8af39b29a64904e96d87c5c59468139f0d8bb528549b80c94a
REF v2.14.0
SHA512 cf3628ac7598c83f09e3975de9fb59e868797adc331d7b4a226c38c0bbd1f7ce15deeb7cedee938a86a68426585e0b5646a84f40705c9a04553b7e37f20b2a4d
HEAD_REF master
PATCHES
fix-find-package-asio.patch
disable-symlink.patch
fix-xtime.patch
fix_thread.patch #https://github.com/eProsima/Fast-DDS/pull/3904
"${PR_3983_PATCH}"
)
set(extra_opts "")
if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
# when cross-compiling, try_run will not work.
set(extra_opts
-DSM_RUN_RESULT=TRUE
-DSM_RUN_RESULT__TRYRUN_OUTPUT=
)
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
DISABLE_PARALLEL_CONFIGURE # due to fix-xtime.patch
OPTIONS
${extra_opts}
)
vcpkg_cmake_install()
@ -34,13 +32,13 @@ vcpkg_cmake_config_fixup(CONFIG_PATH share/fastrtps/cmake)
if(VCPKG_TARGET_IS_WINDOWS)
# copy tools from "bin" to "tools" folder
foreach(TOOL "fast-discovery-server-1.0.0.exe" "fast-discovery-server.bat" "fastdds.bat" "ros-discovery.bat")
foreach(TOOL "fast-discovery-server-1.0.1.exe" "fast-discovery-server.bat" "fastdds.bat" "ros-discovery.bat")
file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/${TOOL}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/${TOOL}")
endforeach()
# remove tools from debug builds
foreach(TOOL "fast-discovery-serverd-1.0.0.exe" "fast-discovery-server.bat" "fastdds.bat" "ros-discovery.bat")
foreach(TOOL "fast-discovery-serverd-1.0.1.exe" "fast-discovery-server.bat" "fastdds.bat" "ros-discovery.bat")
if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL}")
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL}")
endif()
@ -53,17 +51,17 @@ if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}")
elseif(VCPKG_TARGET_IS_LINUX)
# copy tools from "bin" to "tools" folder
foreach(TOOL "fast-discovery-server-1.0.0" "fast-discovery-server" "fastdds" "ros-discovery")
foreach(TOOL "fast-discovery-server-1.0.1" "fast-discovery-server" "fastdds" "ros-discovery")
file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/${TOOL}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/${TOOL}")
endforeach()
# replace symlink by a copy because symlinks do not work well together with vcpkg binary caching
file(REMOVE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/fast-discovery-server")
file(INSTALL "${CURRENT_PACKAGES_DIR}/tools/${PORT}/fast-discovery-server-1.0.0" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}" RENAME "fast-discovery-server")
file(INSTALL "${CURRENT_PACKAGES_DIR}/tools/${PORT}/fast-discovery-server-1.0.1" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}" RENAME "fast-discovery-server")
# remove tools from debug builds
foreach(TOOL "fast-discovery-serverd-1.0.0" "fast-discovery-server" "fastdds" "ros-discovery")
foreach(TOOL "fast-discovery-serverd-1.0.1" "fast-discovery-server" "fastdds" "ros-discovery")
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL}")
endforeach()

View File

@ -1,8 +1,7 @@
{
"name": "fastrtps",
"version": "2.7.0",
"port-version": 5,
"description": "Eprosima Fast RTPS is a C++ implementation of the RTPS (Real Time Publish Subscribe) protocol, which provides publisher-subscriber communications over unreliable transports such as UDP, as defined and maintained by the Object Management Group (OMG) consortium.",
"version": "2.14.0",
"description": "eprosima Fast DDS (formerly Fast RTPS) is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group). eProsima Fast DDS implements the RTPS (Real Time Publish Subscribe) protocol, which provides publisher-subscriber communications over unreliable transports such as UDP, as defined and maintained by the Object Management Group (OMG) consortium.",
"homepage": "https://www.eprosima.com/",
"license": "Apache-2.0",
"supports": "!uwp",

View File

@ -2649,8 +2649,8 @@
"port-version": 1
},
"fastrtps": {
"baseline": "2.7.0",
"port-version": 5
"baseline": "2.14.0",
"port-version": 0
},
"faudio": {
"baseline": "24.03",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "3ca79d1102948e72e1383c2aac8b5069932c790d",
"version": "2.14.0",
"port-version": 0
},
{
"git-tree": "e60f3fa00c69cc283d5ba48b642abdd8464c49f8",
"version": "2.7.0",