early-access version 2853
This commit is contained in:
53
externals/vcpkg/ports/zeroc-ice/change_to_mt.ps1
vendored
Executable file
53
externals/vcpkg/ports/zeroc-ice/change_to_mt.ps1
vendored
Executable file
@@ -0,0 +1,53 @@
|
||||
|
||||
$projFilePath = $args[0]
|
||||
$crtLinkage = $args[1]
|
||||
|
||||
if($projFilePath)
|
||||
{
|
||||
$xpath = "/rs:Project/rs:ItemGroup/rs:ProjectConfiguration"
|
||||
$xmldoc = New-Object System.Xml.XmlDocument
|
||||
$xmldoc.load($projFilePath)
|
||||
$nsmgr = New-Object System.Xml.XmlNamespaceManager($xmldoc.NameTable);
|
||||
$nsmgr.AddNamespace("rs", "http://schemas.microsoft.com/developer/msbuild/2003");
|
||||
$root = $xmldoc.DocumentElement
|
||||
|
||||
foreach($conf in $root.ItemDefinitionGroup)
|
||||
{
|
||||
if($conf.Condition)
|
||||
{
|
||||
if(-Not ($conf.ClCompile.RuntimeLibrary))
|
||||
{
|
||||
$rtl = $xmldoc.CreateElement("RuntimeLibrary", $conf.ClCompile.NamespaceURI)
|
||||
$conf.ClCompile.AppendChild($rtl)
|
||||
}
|
||||
|
||||
if($conf.Condition.Contains("Debug"))
|
||||
{
|
||||
if($crtLinkage -eq "static")
|
||||
{
|
||||
$conf.ClCompile.RuntimeLibrary = "MultithreadedDebug"
|
||||
}
|
||||
else
|
||||
{
|
||||
$conf.ClCompile.RuntimeLibrary = "MultithreadedDebugDLL"
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if($crtLinkage -eq "static")
|
||||
{
|
||||
$conf.ClCompile.RuntimeLibrary = "Multithreaded"
|
||||
}
|
||||
else
|
||||
{
|
||||
$conf.ClCompile.RuntimeLibrary = "MultithreadedDLL"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$xmldoc.save($projFilePath)
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Error "Error: No path defined!"
|
||||
}
|
||||
24
externals/vcpkg/ports/zeroc-ice/mcppd_fix.patch
vendored
Executable file
24
externals/vcpkg/ports/zeroc-ice/mcppd_fix.patch
vendored
Executable file
@@ -0,0 +1,24 @@
|
||||
--- a/config/Make.project.rules 2022-01-17 10:28:23.000000000
|
||||
+++ b/config/Make.project.rules 2022-04-18 12:15:19.000000000
|
||||
@@ -1050,17 +1050,17 @@
|
||||
#
|
||||
# $(call make-lib,$1=libname)
|
||||
#
|
||||
define make-lib
|
||||
ifneq ($($1_home),)
|
||||
# Check for 3rd party libraries either in home/lib<platform specific subdir> or home/lib
|
||||
-$1_installdir = $$($1_home)/lib$$(call platform-var,installdir,$1,$$($$2_platform),$$($$2_config),$$2)
|
||||
-$1_libdir ?= $$(strip $$(if $$(wildcard $$($1_installdir)),$$($1_installdir),$$($1_home)/lib))
|
||||
-$1_includedir ?= $$($1_home)/include
|
||||
+$1_installdir =
|
||||
+$1_libdir ?=
|
||||
+$1_includedir ?=
|
||||
endif
|
||||
-$1_ldflags ?= -l$1
|
||||
+$1_ldflags ?= -l$$(if $$(and $$(filter mcpp,$1),$$(filter no,$$(OPTIMIZE))),$1d,$1)
|
||||
endef
|
||||
|
||||
#
|
||||
# $(call repathfromdir,path)
|
||||
#
|
||||
# Returns reversed relative path for directory (e.g.: test/Ice/operations
|
||||
21
externals/vcpkg/ports/zeroc-ice/md5i_fix.patch
vendored
Executable file
21
externals/vcpkg/ports/zeroc-ice/md5i_fix.patch
vendored
Executable file
@@ -0,0 +1,21 @@
|
||||
diff --git a/cpp/src/Slice/MD5I.cpp b/cpp/src/Slice/MD5I.cpp
|
||||
index 66f4de545b..271352d1ea 100644
|
||||
--- a/cpp/src/Slice/MD5I.cpp
|
||||
+++ b/cpp/src/Slice/MD5I.cpp
|
||||
@@ -52,6 +52,7 @@
|
||||
*/
|
||||
|
||||
#include <Slice/MD5I.h>
|
||||
+#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef __GNUC__
|
||||
@@ -172,7 +173,7 @@ md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/)
|
||||
* On little-endian machines, we can process properly aligned
|
||||
* data without copying it.
|
||||
*/
|
||||
- if (!((data - (const md5_byte_t *)0) & 3)) {
|
||||
+ if (!((reinterpret_cast<uintptr_t>(data)) & 3)) {
|
||||
/* data are properly aligned */
|
||||
X = (const md5_word_t *)data;
|
||||
} else {
|
||||
306
externals/vcpkg/ports/zeroc-ice/portfile.cmake
vendored
Executable file
306
externals/vcpkg/ports/zeroc-ice/portfile.cmake
vendored
Executable file
@@ -0,0 +1,306 @@
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO zeroc-ice/ice
|
||||
REF v3.7.7
|
||||
SHA512 73c3a2bb14c9e145383e4026206edd3e03b29c60a33af628611bfdab71d69a3aed108ce4e6cbfd67eb852560110e3495b4bd238c8cdf0de9d1f8e2f1088513ee
|
||||
PATCHES md5i_fix.patch slice2swift.patch mcppd_fix.patch
|
||||
)
|
||||
|
||||
set(RELEASE_TRIPLET ${TARGET_TRIPLET}-rel)
|
||||
set(DEBUG_TRIPLET ${TARGET_TRIPLET}-dbg)
|
||||
|
||||
get_filename_component(SOURCE_PATH_SUFFIX ${SOURCE_PATH} NAME)
|
||||
set(UNIX_BUILD_DIR "${SOURCE_PATH}")
|
||||
set(WIN_DEBUG_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${DEBUG_TRIPLET}/${SOURCE_PATH_SUFFIX})
|
||||
set(WIN_RELEASE_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/${SOURCE_PATH_SUFFIX})
|
||||
|
||||
# install_includes
|
||||
function(install_includes ORIGINAL_PATH RELATIVE_PATHS)
|
||||
foreach(RELATIVE_PATH ${RELATIVE_PATHS})
|
||||
file(GLOB HEADER_FILES ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h)
|
||||
if(EXISTS ${ORIGINAL_PATH}/${RELATIVE_PATH})
|
||||
file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/${RELATIVE_PATH})
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
# install_slices
|
||||
function(install_slices ORIGINAL_PATH RELATIVE_PATHS)
|
||||
foreach(RELATIVE_PATH ${RELATIVE_PATHS})
|
||||
file(GLOB HEADER_FILES ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.ice)
|
||||
if(EXISTS ${ORIGINAL_PATH}/${RELATIVE_PATH})
|
||||
file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/ice/slice/${RELATIVE_PATH})
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
vcpkg_list(SET ICE_INCLUDE_SUB_DIRECTORIES
|
||||
"Glacier2"
|
||||
"Ice"
|
||||
"IceBT"
|
||||
"IceBox"
|
||||
"IceBT"
|
||||
"IceDiscovery"
|
||||
"IceGrid"
|
||||
"IceIAP"
|
||||
"IceLocatorDiscovery"
|
||||
"IcePatch2"
|
||||
"IceSSL"
|
||||
"IceStorm"
|
||||
)
|
||||
|
||||
set(ICE_OPTIONAL_COMPONENTS_MSBUILD "")
|
||||
set(ICE_OPTIONAL_COMPONENTS_MAKE "Ice") # Intentional!
|
||||
|
||||
# IceSSL
|
||||
if("icessl" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icessl++11")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceSSL")
|
||||
endif()
|
||||
|
||||
# Glacier2
|
||||
if("glacier2lib" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\glacier2++11")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "Glacier2")
|
||||
endif()
|
||||
|
||||
# Glacier2Router
|
||||
if("glacier2router" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\glacier2router")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\glacier2cryptpermissionsverifier")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "glacier2router")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "Glacier2CryptPermissionsVerifier")
|
||||
endif()
|
||||
|
||||
# IceBox
|
||||
if("iceboxlib" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\iceboxlib++11")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceBox")
|
||||
endif()
|
||||
|
||||
# IceBox
|
||||
if("iceboxtools" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icebox++11")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\iceboxadmin")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icebox")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "iceboxadmin")
|
||||
endif()
|
||||
|
||||
# IceGrid
|
||||
if("icegridlib" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icegrid++11")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceGrid")
|
||||
endif()
|
||||
|
||||
# IceGrid tools
|
||||
if("icegridtools" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridadmin")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridregistry")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridnode")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icegridnode")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icegridregistry")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icegridnode")
|
||||
endif()
|
||||
|
||||
# IceStorm
|
||||
if("icestormlib" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icestorm++11")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceStorm")
|
||||
endif()
|
||||
|
||||
# IceStormAdmin
|
||||
if("icestormtools" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormadmin")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormservice")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormdb")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icestormadmin")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceStormService")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icestormdb")
|
||||
endif()
|
||||
|
||||
# IceBridge executable
|
||||
if("icebridge" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icebridge")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icebridge")
|
||||
endif()
|
||||
|
||||
# IceDiscovery
|
||||
if("icediscovery" IN_LIST FEATURES)
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icediscovery++11")
|
||||
vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceDiscovery")
|
||||
endif()
|
||||
|
||||
if(NOT VCPKG_TARGET_IS_WINDOWS)
|
||||
# Clean up for the first round (important for install --editable)
|
||||
vcpkg_execute_build_process(
|
||||
COMMAND make distclean
|
||||
WORKING_DIRECTORY ${SOURCE_PATH}/cpp
|
||||
LOGNAME make-clean-${TARGET_TRIPLET}
|
||||
)
|
||||
|
||||
if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib")
|
||||
file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/lib")
|
||||
endif()
|
||||
if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib64")
|
||||
file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/lib64")
|
||||
endif()
|
||||
file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/bin")
|
||||
|
||||
# Setting these as environment variables, as .d files aren't generated
|
||||
# the first time passing them as arguments to make.
|
||||
set(ENV{MCPP_HOME} ${CURRENT_INSTALLED_DIR})
|
||||
set(ENV{EXPAT_HOME} ${CURRENT_INSTALLED_DIR})
|
||||
set(ENV{BZ2_HOME} ${CURRENT_INSTALLED_DIR})
|
||||
set(ENV{LMDB_HOME} ${CURRENT_INSTALLED_DIR})
|
||||
set(ENV{CPPFLAGS} "-I${CURRENT_INSTALLED_DIR}/include")
|
||||
set(ENV{LDFLAGS} "-L${CURRENT_INSTALLED_DIR}/debug/lib")
|
||||
|
||||
set(ICE_BUILD_CONFIG "shared cpp11-shared")
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
set(ICE_BUILD_CONFIG "static cpp11-static")
|
||||
endif()
|
||||
|
||||
message(STATUS "Building ${TARGET_TRIPLET}-dbg")
|
||||
vcpkg_execute_build_process(
|
||||
COMMAND make
|
||||
V=1
|
||||
"prefix=${CURRENT_PACKAGES_DIR}/debug"
|
||||
linux_id=vcpkg
|
||||
"CONFIGS=${ICE_BUILD_CONFIG}"
|
||||
USR_DIR_INSTALL=yes
|
||||
OPTIMIZE=no
|
||||
${ICE_OPTIONAL_COMPONENTS_MAKE}
|
||||
"-j${VCPKG_CONCURRENCY}"
|
||||
WORKING_DIRECTORY ${SOURCE_PATH}/cpp
|
||||
LOGNAME make-${TARGET_TRIPLET}-dbg
|
||||
)
|
||||
|
||||
# Install debug libraries to packages directory
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib")
|
||||
if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib64")
|
||||
file(GLOB ICE_DEBUG_LIBRARIES "${UNIX_BUILD_DIR}/cpp/lib64/*")
|
||||
else()
|
||||
file(GLOB ICE_DEBUG_LIBRARIES "${UNIX_BUILD_DIR}/cpp/lib/*")
|
||||
endif()
|
||||
file(COPY ${ICE_DEBUG_LIBRARIES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
|
||||
|
||||
# Clean up for the next round
|
||||
vcpkg_execute_build_process(
|
||||
COMMAND make distclean
|
||||
WORKING_DIRECTORY ${SOURCE_PATH}/cpp
|
||||
LOGNAME make-clean-${TARGET_TRIPLET}
|
||||
)
|
||||
|
||||
if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib")
|
||||
file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/lib")
|
||||
endif()
|
||||
if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib64")
|
||||
file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/lib64")
|
||||
endif()
|
||||
file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/bin")
|
||||
|
||||
# Release build
|
||||
set(ENV{LDFLAGS} "-L${CURRENT_INSTALLED_DIR}/lib")
|
||||
message(STATUS "Building ${TARGET_TRIPLET}-rel")
|
||||
vcpkg_execute_build_process(
|
||||
COMMAND make
|
||||
V=1
|
||||
"prefix=${CURRENT_PACKAGES_DIR}"
|
||||
linux_id=vcpkg
|
||||
"CONFIGS=${ICE_BUILD_CONFIG}"
|
||||
USR_DIR_INSTALL=yes
|
||||
OPTIMIZE=yes
|
||||
${ICE_OPTIONAL_COMPONENTS_MAKE}
|
||||
"-j${VCPKG_CONCURRENCY}"
|
||||
WORKING_DIRECTORY ${SOURCE_PATH}/cpp
|
||||
LOGNAME make-${TARGET_TRIPLET}-rel
|
||||
)
|
||||
|
||||
# Install release libraries and other files to packages directory
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib")
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include")
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/ice/slice")
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
|
||||
|
||||
install_includes("${UNIX_BUILD_DIR}/cpp/include" "${ICE_INCLUDE_SUB_DIRECTORIES}")
|
||||
install_includes("${UNIX_BUILD_DIR}/cpp/include/generated" "${ICE_INCLUDE_SUB_DIRECTORIES}")
|
||||
install_slices("${SOURCE_PATH}/slice" "${ICE_INCLUDE_SUB_DIRECTORIES}")
|
||||
if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib64")
|
||||
file(GLOB ICE_RELEASE_LIBRARIES "${UNIX_BUILD_DIR}/cpp/lib64/*")
|
||||
else()
|
||||
file(GLOB ICE_RELEASE_LIBRARIES "${UNIX_BUILD_DIR}/cpp/lib/*")
|
||||
endif()
|
||||
file(COPY ${ICE_RELEASE_LIBRARIES} DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
|
||||
file(GLOB ICE_RELEASE_EXECUTABLES "${UNIX_BUILD_DIR}/cpp/bin/*")
|
||||
file(COPY ${ICE_RELEASE_EXECUTABLES} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
|
||||
|
||||
# Clean up
|
||||
vcpkg_execute_build_process(
|
||||
COMMAND make distclean
|
||||
WORKING_DIRECTORY ${SOURCE_PATH}/cpp
|
||||
LOGNAME make-clean-after-build-${TARGET_TRIPLET}
|
||||
)
|
||||
|
||||
if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib")
|
||||
file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/lib")
|
||||
endif()
|
||||
if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib64")
|
||||
file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/lib64")
|
||||
endif()
|
||||
file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/bin")
|
||||
|
||||
else() # VCPKG_TARGET_IS_WINDOWS
|
||||
|
||||
# Fix project files to prevent nuget restore of dependencies and
|
||||
# remove hard coded runtime linkage
|
||||
include("${CURRENT_PORT_DIR}/prepare_for_build.cmake")
|
||||
prepare_for_build("${SOURCE_PATH}")
|
||||
|
||||
vcpkg_list(SET MSBUILD_OPTIONS
|
||||
"/p:UseVcpkg=yes"
|
||||
"/p:IceBuildingSrc=yes"
|
||||
${ICE_OPTIONAL_COMPONENTS_MSBUILD}
|
||||
)
|
||||
|
||||
# Build Ice
|
||||
vcpkg_install_msbuild(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PROJECT_SUBPATH "cpp/msbuild/ice.${VCPKG_PLATFORM_TOOLSET}.sln"
|
||||
SKIP_CLEAN
|
||||
TARGET "C++11\\ice++11"
|
||||
USE_VCPKG_INTEGRATION
|
||||
OPTIONS
|
||||
${MSBUILD_OPTIONS}
|
||||
)
|
||||
|
||||
if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/zeroc.icebuilder.msbuild.dll")
|
||||
file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/zeroc.icebuilder.msbuild.dll")
|
||||
endif()
|
||||
if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/zeroc.icebuilder.msbuild.dll")
|
||||
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/zeroc.icebuilder.msbuild.dll")
|
||||
endif()
|
||||
|
||||
install_includes("${WIN_RELEASE_BUILD_DIR}/cpp/include" "${ICE_INCLUDE_SUB_DIRECTORIES}")
|
||||
install_includes("${WIN_RELEASE_BUILD_DIR}/cpp/include/generated/cpp11/${TRIPLET_SYSTEM_ARCH}/Release" "${ICE_INCLUDE_SUB_DIRECTORIES}")
|
||||
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/ice/slice")
|
||||
install_slices("${SOURCE_PATH}/slice" "${ICE_INCLUDE_SUB_DIRECTORIES}")
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
endif()
|
||||
|
||||
vcpkg_clean_msbuild()
|
||||
|
||||
endif()
|
||||
|
||||
# Remove unnecessary static libraries.
|
||||
file(GLOB PDLIBS "${CURRENT_PACKAGES_DIR}/debug/lib/*")
|
||||
file(GLOB PRLIBS "${CURRENT_PACKAGES_DIR}/lib/*")
|
||||
list(FILTER PDLIBS INCLUDE REGEX ".*(([Ii]ce[Uu]til|[Ss]lice)d?\.([a-z]+))$")
|
||||
list(FILTER PRLIBS INCLUDE REGEX ".*(([Ii]ce[Uu]til|[Ss]lice)d?\.([a-z]+))$")
|
||||
file(REMOVE ${PDLIBS} ${PRLIBS})
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/zeroc-ice RENAME copyright)
|
||||
76
externals/vcpkg/ports/zeroc-ice/prepare_for_build.cmake
vendored
Executable file
76
externals/vcpkg/ports/zeroc-ice/prepare_for_build.cmake
vendored
Executable file
@@ -0,0 +1,76 @@
|
||||
|
||||
# This function modifies hardcoded RuntimeLibrary directives in Ice's .vcxproj files and downloads
|
||||
# Ice Builder for MSBuild, which is required to generate C++ files based on the interface definition
|
||||
# files (.ice).
|
||||
|
||||
function(prepare_for_build ICE_SOURCE_DIR)
|
||||
|
||||
message("-- Modifying hardcoded 'RuntimeLibrary' directives in .vcxproj files")
|
||||
set(CPP_SOURCE_DIR "${ICE_SOURCE_DIR}/cpp/src")
|
||||
file(GLOB_RECURSE PROJ_FILES "${CPP_SOURCE_DIR}/*.vcxproj")
|
||||
foreach(PROJ_FILE ${PROJ_FILES})
|
||||
file(READ ${PROJ_FILE} PROJ_FILE_CONTENT)
|
||||
STRING(REGEX
|
||||
REPLACE
|
||||
"<Target Name=\"EnsureNuGetPackageBuildImports\" BeforeTargets=\"PrepareForBuild\">"
|
||||
"<Target Name=\"EnsureNuGetPackageBuildImports\" BeforeTargets=\"PrepareForBuild\" Condition=\"'$(UseVcpkg)' != 'yes'\">"
|
||||
PROJ_FILE_CONTENT
|
||||
"${PROJ_FILE_CONTENT}"
|
||||
)
|
||||
|
||||
if((NOT ${PROJ_FILE} MATCHES ".*slice\.vcxproj") AND
|
||||
(NOT ${PROJ_FILE} MATCHES ".*iceutil\.vcxproj") AND
|
||||
(NOT ${PROJ_FILE} MATCHES ".*slice2cpp\.vcxproj"))
|
||||
|
||||
if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "static")
|
||||
STRING(REGEX
|
||||
REPLACE
|
||||
"<ConfigurationType>DynamicLibrary</ConfigurationType>"
|
||||
"<ConfigurationType>StaticLibrary</ConfigurationType>"
|
||||
PROJ_FILE_CONTENT
|
||||
"${PROJ_FILE_CONTENT}"
|
||||
)
|
||||
else()
|
||||
STRING(REGEX
|
||||
REPLACE
|
||||
"<ConfigurationType>StaticLibrary</ConfigurationType>"
|
||||
"<ConfigurationType>DynamicLibrary</ConfigurationType>"
|
||||
PROJ_FILE_CONTENT
|
||||
"${PROJ_FILE_CONTENT}"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
file(WRITE ${PROJ_FILE} "${PROJ_FILE_CONTENT}")
|
||||
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND pwsh ${CURRENT_PORT_DIR}/change_to_mt.ps1 ${PROJ_FILE} ${VCPKG_CRT_LINKAGE}
|
||||
WORKING_DIRECTORY ${SOURCE_PATH}
|
||||
LOGNAME change_to_mt-${TARGET_TRIPLET}-rel
|
||||
)
|
||||
endforeach()
|
||||
|
||||
set(ICE_CPP_MSBUILD_PACKAGES_DIR "${ICE_SOURCE_DIR}/cpp/msbuild/packages")
|
||||
set(ICE_BUILDER_DEST_DIRECTORY "${ICE_CPP_MSBUILD_PACKAGES_DIR}/zeroc.icebuilder.msbuild.5.0.7")
|
||||
if(NOT EXISTS "${ICE_BUILDER_DEST_DIRECTORY}")
|
||||
message("-- Making Ice Builder for MSBuild available")
|
||||
vcpkg_download_distfile(
|
||||
ICE_BUILDER_MSBUILD_ARCHIVE
|
||||
URLS https://globalcdn.nuget.org/packages/zeroc.icebuilder.msbuild.5.0.7.nupkg
|
||||
FILENAME zeroc.icebuilder.msbuild.5.0.7.zip
|
||||
SHA512 d4afed8a3c67daf2e1cde09e7747ec9f088fa1354069bb7c7782c1089ea0f4e50b669f45a88502ad341dbccafbc1394d74fe764479f25bf4be1d3f70e66cb174
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive(
|
||||
ICE_BUILDER_MSBUILD_DIRECTORY
|
||||
ARCHIVE
|
||||
"${ICE_BUILDER_MSBUILD_ARCHIVE}"
|
||||
NO_REMOVE_ONE_LEVEL
|
||||
SOURCE_BASE icebuilder
|
||||
)
|
||||
|
||||
file(MAKE_DIRECTORY "${ICE_SOURCE_DIR}/cpp/msbuild/packages")
|
||||
file(RENAME "${ICE_BUILDER_MSBUILD_DIRECTORY}" "${ICE_BUILDER_DEST_DIRECTORY}")
|
||||
endif()
|
||||
|
||||
endfunction()
|
||||
25
externals/vcpkg/ports/zeroc-ice/slice2swift.patch
vendored
Executable file
25
externals/vcpkg/ports/zeroc-ice/slice2swift.patch
vendored
Executable file
@@ -0,0 +1,25 @@
|
||||
diff --git a/cpp/src/slice2swift/SwiftUtil.cpp b/cpp/src/slice2swift/SwiftUtil.cpp
|
||||
index 404dee7670..01e144de90 100644
|
||||
--- a/cpp/src/slice2swift/SwiftUtil.cpp
|
||||
+++ b/cpp/src/slice2swift/SwiftUtil.cpp
|
||||
@@ -1523,7 +1523,7 @@ SwiftGenerator::writeMemberwiseInitializer(IceUtilInternal::Output& out,
|
||||
const DataMemberList& baseMembers,
|
||||
const DataMemberList& allMembers,
|
||||
const ContainedPtr& p,
|
||||
- bool local,
|
||||
+ bool /*local*/,
|
||||
bool rootClass,
|
||||
const StringPairList& extraParams)
|
||||
{
|
||||
@@ -1531,11 +1531,6 @@ SwiftGenerator::writeMemberwiseInitializer(IceUtilInternal::Output& out,
|
||||
{
|
||||
out << sp;
|
||||
out << nl;
|
||||
- int typeCtx = TypeContextInParam;
|
||||
- if(local)
|
||||
- {
|
||||
- typeCtx |= TypeContextLocal;
|
||||
- }
|
||||
out << "public init" << spar;
|
||||
for(DataMemberList::const_iterator i = allMembers.begin(); i != allMembers.end(); ++i)
|
||||
{
|
||||
122
externals/vcpkg/ports/zeroc-ice/vcpkg.json
vendored
Executable file
122
externals/vcpkg/ports/zeroc-ice/vcpkg.json
vendored
Executable file
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"name": "zeroc-ice",
|
||||
"version": "3.7.7",
|
||||
"port-version": 2,
|
||||
"maintainers": "Benjamin Oldenburg <benjamin.oldenburg@ordis.co.th>",
|
||||
"description": "Comprehensive RPC framework with support for C++, CSharp, Java, JavaScript, Python and more.",
|
||||
"homepage": "https://github.com/zeroc-ice/ice",
|
||||
"license": null,
|
||||
"supports": "!uwp & !(windows & arm) & !wasm32",
|
||||
"dependencies": [
|
||||
"bzip2",
|
||||
"expat",
|
||||
"lmdb",
|
||||
"mcpp",
|
||||
{
|
||||
"name": "openssl",
|
||||
"platform": "!windows"
|
||||
},
|
||||
"zlib"
|
||||
],
|
||||
"features": {
|
||||
"glacier2lib": {
|
||||
"description": "Glacier2 libraries"
|
||||
},
|
||||
"glacier2router": {
|
||||
"description": "Glacier2Router",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "zeroc-ice",
|
||||
"features": [
|
||||
"glacier2lib",
|
||||
"icessl"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"iceboxlib": {
|
||||
"description": "IceBox libraries and runtime"
|
||||
},
|
||||
"iceboxtools": {
|
||||
"description": "IceBox tools"
|
||||
},
|
||||
"icebridge": {
|
||||
"description": "IceBridge",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "zeroc-ice",
|
||||
"features": [
|
||||
"iceboxlib"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"icediscovery": {
|
||||
"description": "IceDiscovery",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "zeroc-ice",
|
||||
"features": [
|
||||
"glacier2lib",
|
||||
"iceboxlib",
|
||||
"icessl",
|
||||
"icestormlib"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"icegridlib": {
|
||||
"description": "IceGrid library",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "zeroc-ice",
|
||||
"features": [
|
||||
"glacier2lib"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"icegridtools": {
|
||||
"description": "IceGrid tools",
|
||||
"dependencies": [
|
||||
"expat",
|
||||
{
|
||||
"name": "zeroc-ice",
|
||||
"features": [
|
||||
"glacier2lib",
|
||||
"iceboxlib",
|
||||
"icegridlib",
|
||||
"icessl"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"icessl": {
|
||||
"description": "IceSSL",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "openssl",
|
||||
"platform": "!windows"
|
||||
}
|
||||
]
|
||||
},
|
||||
"icestormlib": {
|
||||
"description": "IceStorm library"
|
||||
},
|
||||
"icestormtools": {
|
||||
"description": "IceStorm tools",
|
||||
"dependencies": [
|
||||
"lmdb",
|
||||
{
|
||||
"name": "zeroc-ice",
|
||||
"features": [
|
||||
"glacier2lib",
|
||||
"iceboxlib",
|
||||
"icegridlib",
|
||||
"icestormlib"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user