early-access version 2853
This commit is contained in:
16
externals/vcpkg/ports/fastrtps/disable-symlink.patch
vendored
Executable file
16
externals/vcpkg/ports/fastrtps/disable-symlink.patch
vendored
Executable file
@@ -0,0 +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
|
||||
@@ -124,7 +124,7 @@ if(NOT BUILD_SHARED_LIBS)
|
||||
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
|
||||
12
externals/vcpkg/ports/fastrtps/fix-find-package-asio.patch
vendored
Executable file
12
externals/vcpkg/ports/fastrtps/fix-find-package-asio.patch
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
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)
|
||||
69
externals/vcpkg/ports/fastrtps/portfile.cmake
vendored
Executable file
69
externals/vcpkg/ports/fastrtps/portfile.cmake
vendored
Executable file
@@ -0,0 +1,69 @@
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO eProsima/Fast-DDS
|
||||
REF v2.4.0
|
||||
SHA512 2E9C0378AF86DD657391D577F6951096DD45970A2C4D9C384EE5A452A1DD129E6E0AED91E0B908A35A04CAF979253700560561D34082DA81FE737FE104C149AF
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
fix-find-package-asio.patch
|
||||
disable-symlink.patch
|
||||
)
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
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")
|
||||
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")
|
||||
if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL}")
|
||||
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# adjust paths in batch files
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/fastdds.bat" "%dir%\\..\\tools\\fastdds\\fastdds.py" "%dir%\\..\\fastdds\\fastdds.py")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/ros-discovery.bat" "%dir%\\..\\tools\\fastdds\\fastdds.py" "%dir%\\..\\fastdds\\fastdds.py")
|
||||
|
||||
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")
|
||||
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")
|
||||
|
||||
# remove tools from debug builds
|
||||
foreach(TOOL "fast-discovery-serverd-1.0.0" "fast-discovery-server" "fastdds" "ros-discovery")
|
||||
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL}")
|
||||
endforeach()
|
||||
|
||||
# adjust paths in batch files
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/fastdds" "$dir/../tools/fastdds/fastdds.py" "$dir/../fastdds/fastdds.py")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/ros-discovery" "$dir/../tools/fastdds/fastdds.py" "$dir/../fastdds/fastdds.py")
|
||||
endif()
|
||||
|
||||
if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
21
externals/vcpkg/ports/fastrtps/vcpkg.json
vendored
Executable file
21
externals/vcpkg/ports/fastrtps/vcpkg.json
vendored
Executable file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "fastrtps",
|
||||
"version": "2.4.0",
|
||||
"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.",
|
||||
"homepage": "https://www.eprosima.com/",
|
||||
"dependencies": [
|
||||
"asio",
|
||||
"fastcdr",
|
||||
"foonathan-memory",
|
||||
"openssl",
|
||||
"tinyxml2",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user