[fastdds] update to 3.0.1(rename fastrtps) (#40984)

This commit is contained in:
miyanyan 2024-10-01 01:10:47 +08:00 committed by GitHub
parent c1f1fb3128
commit 13ca70c498
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 64 additions and 42 deletions

View File

@ -1,16 +1,16 @@
Normally, the build script attempts to create a symlink to fast-discovery-server on Windows
and only falls back to a batch file if the necessary administrator privileges are not available.
Since symlinks do not work well with vcpkg binary caching,
we force the build script to create a batch file in any case.
diff --git a/tools/fds/CMakeLists.txt b/tools/fds/CMakeLists.txt
--- a/tools/fds/CMakeLists.txt
+++ b/tools/fds/CMakeLists.txt
@@ -116,7 +116,7 @@ # - on windows privileges to create symlinks (a .bat file is provided on unprivileged installations)
if( WIN32 )
# Use powershell to generate the link
install(
- CODE "execute_process( COMMAND PowerShell -Command \"if( test-path ${PROJECT_NAME}.exe -PathType Leaf ) { rm ${PROJECT_NAME}.exe } ; New-Item -ItemType SymbolicLink -Target $<TARGET_FILE_NAME:${PROJECT_NAME}> -Path ${PROJECT_NAME}.exe \" ERROR_QUIET RESULTS_VARIABLE SYMLINK_FAILED WORKING_DIRECTORY \"${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}\") \n if( SYMLINK_FAILED ) \n message(STATUS \"Windows requires admin installation rights to create symlinks. A bat script will be provided instead.\") \n set(FAST_SERVER_BINARY_NAME $<TARGET_FILE_NAME:${PROJECT_NAME}>) \n configure_file(${CMAKE_CURRENT_LIST_DIR}/fast-discovery-server.bat.in ${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}/${PROJECT_NAME}.bat @ONLY) \n endif()"
+ CODE "set(FAST_SERVER_BINARY_NAME $<TARGET_FILE_NAME:${PROJECT_NAME}>) \n configure_file(${CMAKE_CURRENT_LIST_DIR}/fast-discovery-server.bat.in ${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}/${PROJECT_NAME}.bat @ONLY) \n"
COMPONENT discovery)
else()
# Use ln to create the symbolic link. We remove the version from the file name but keep the debug suffix
Normally, the build script attempts to create a symlink to fast-discovery-server on Windows
and only falls back to a batch file if the necessary administrator privileges are not available.
Since symlinks do not work well with vcpkg binary caching,
we force the build script to create a batch file in any case.
diff --git a/tools/fds/CMakeLists.txt b/tools/fds/CMakeLists.txt
--- a/tools/fds/CMakeLists.txt
+++ b/tools/fds/CMakeLists.txt
@@ -116,7 +116,7 @@ # - on windows privileges to create symlinks (a .bat file is provided on unprivileged installations)
if( WIN32 )
# Use powershell to generate the link
install(
- CODE "execute_process( COMMAND PowerShell -Command \"if( test-path ${PROJECT_NAME}.exe -PathType Leaf ) { rm ${PROJECT_NAME}.exe } ; New-Item -ItemType SymbolicLink -Target $<TARGET_FILE_NAME:${PROJECT_NAME}> -Path ${PROJECT_NAME}.exe \" ERROR_QUIET RESULTS_VARIABLE SYMLINK_FAILED WORKING_DIRECTORY \"${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}\") \n if( SYMLINK_FAILED ) \n message(STATUS \"Windows requires admin installation rights to create symlinks. A bat script will be provided instead.\") \n set(FAST_SERVER_BINARY_NAME $<TARGET_FILE_NAME:${PROJECT_NAME}>) \n configure_file(${CMAKE_CURRENT_LIST_DIR}/fast-discovery-server.bat.in ${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}/${PROJECT_NAME}.bat @ONLY) \n endif()"
+ CODE "set(FAST_SERVER_BINARY_NAME $<TARGET_FILE_NAME:${PROJECT_NAME}>) \n configure_file(${CMAKE_CURRENT_LIST_DIR}/fast-discovery-server.bat.in ${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}/${PROJECT_NAME}.bat @ONLY) \n"
COMPONENT discovery)
else()
# Use ln to create the symbolic link. We remove the version from the file name but keep the debug suffix

View File

@ -1,12 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -141,7 +141,7 @@ if(NOT BUILD_SHARED_LIBS)
endif()
eprosima_find_package(fastcdr REQUIRED)
-eprosima_find_thirdparty(Asio asio VERSION 1.10.8)
+find_package(asio CONFIG REQUIRED)
eprosima_find_thirdparty(TinyXML2 tinyxml2)
find_package(foonathan_memory REQUIRED)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c930e31..11b96a3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -255,7 +255,7 @@ if(NOT BUILD_SHARED_LIBS)
endif()
eprosima_find_package(fastcdr 2 REQUIRED)
-eprosima_find_thirdparty(Asio asio VERSION 1.10.8)
+find_package(asio CONFIG REQUIRED)
eprosima_find_thirdparty(TinyXML2 tinyxml2)
find_package(foonathan_memory REQUIRED)

View File

@ -0,0 +1,13 @@
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
index e0be0a7..9eb07a6 100644
--- a/src/cpp/CMakeLists.txt
+++ b/src/cpp/CMakeLists.txt
@@ -661,7 +661,7 @@ if(MSVC OR MSVC_IDE)
endif()
# install symbols if any
- if(PDB_FILE)
+ if(PDB_FILE AND BUILD_SHARED_LIBS)
install(FILES ${PDB_FILE}
DESTINATION ${LIB_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}
COMPONENT symbols

View File

@ -2,12 +2,13 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO eProsima/Fast-DDS
REF v2.14.0
SHA512 cf3628ac7598c83f09e3975de9fb59e868797adc331d7b4a226c38c0bbd1f7ce15deeb7cedee938a86a68426585e0b5646a84f40705c9a04553b7e37f20b2a4d
REF "v${VERSION}"
SHA512 84333bef4b5264b72129e515c2208048c25794d7d653073298cbf5f43ba95c85f2aa64f30e6911a69daf9affc4dc1e10cea4064da43fdd709bbe04ef1cf1f4d7
HEAD_REF master
PATCHES
fix-find-package-asio.patch
disable-symlink.patch
pdb-file.patch
)
set(extra_opts "")
@ -28,7 +29,7 @@ vcpkg_cmake_configure(
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup(CONFIG_PATH share/fastrtps/cmake)
vcpkg_cmake_config_fixup(CONFIG_PATH share/fastdds/cmake)
if(VCPKG_TARGET_IS_WINDOWS)
# copy tools from "bin" to "tools" folder

View File

@ -1,6 +1,6 @@
{
"name": "fastrtps",
"version": "2.14.0",
"name": "fastdds",
"version": "3.0.1",
"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",

View File

@ -328,11 +328,9 @@ epsilon:x64-uwp=fail
evpp:arm-neon-android=fail
evpp:arm64-android=fail
evpp:x64-android=fail
fastrtps:arm-neon-android=fail
fastrtps:arm64-android=fail
fastrtps:x64-android=fail
fastrtps:x64-windows-static-md=fail
fastrtps:x64-windows-static=fail
fastdds:arm-neon-android=fail
fastdds:arm64-android=fail
fastdds:x64-android=fail
flashlight-cpu:x64-linux=fail
flashlight-cuda:x64-linux=fail
flint:arm-neon-android=fail

View File

@ -2676,6 +2676,10 @@
"baseline": "2020-09-11",
"port-version": 5
},
"fastdds": {
"baseline": "3.0.1",
"port-version": 0
},
"fastfeat": {
"baseline": "391d5e9",
"port-version": 4
@ -2696,10 +2700,6 @@
"baseline": "2021-11-22",
"port-version": 1
},
"fastrtps": {
"baseline": "2.14.0",
"port-version": 0
},
"faudio": {
"baseline": "24.09",
"port-version": 0

9
versions/f-/fastdds.json Normal file
View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "6ff9b97e272f2c114ff8da8e63e5a04426f49722",
"version": "3.0.1",
"port-version": 0
}
]
}