From 89aa4abd675a11ad97b1b4be18992616cc41c77e Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 24 Mar 2022 23:04:51 -0700 Subject: [PATCH 01/34] Initial commit --- ports/zeroc-ice/fixProjFiles.ps1 | 41 +++++ ports/zeroc-ice/portfile.cmake | 299 +++++++++++++++++++++++++++++++ ports/zeroc-ice/vcpkg.json | 187 +++++++++++++++++++ 3 files changed, 527 insertions(+) create mode 100644 ports/zeroc-ice/fixProjFiles.ps1 create mode 100644 ports/zeroc-ice/portfile.cmake create mode 100644 ports/zeroc-ice/vcpkg.json diff --git a/ports/zeroc-ice/fixProjFiles.ps1 b/ports/zeroc-ice/fixProjFiles.ps1 new file mode 100644 index 00000000000000..5e744fde12f05d --- /dev/null +++ b/ports/zeroc-ice/fixProjFiles.ps1 @@ -0,0 +1,41 @@ + +$rootPath=$args[0] + +$cppSrcPath = "$rootPath/cpp/src" +if($cppSrcPath) +{ +Write-Output "Processing $cppSrcPath" +$projectFiles = Get-ChildItem -Path $cppSrcPath -Filter *.vcxproj -Recurse -ErrorAction SilentlyContinue -Force + + foreach($proj in $projectFiles) + { + Write-Output $proj.FullName + $content = Get-Content -Path $proj.FullName + $content = $content -replace '', '' + $content = $content -replace 'MultiThreadedDebug','' + $content = $content -replace 'MultiThreaded','' + $content | Set-Content -Path $proj.FullName + } +} +else +{ + Write-Error "Error: No path defined!" +} + +# Download nuget file with .zip extention to temporary folder +$tmpPath = [System.IO.Path]::GetTempPath() +$msbuilderDlPath = "$tmpPath/zeroc.icebuilder.msbuild.5.0.7.zip" +Invoke-WebRequest -Uri "https://globalcdn.nuget.org/packages/zeroc.icebuilder.msbuild.5.0.7.nupkg" -OutFile $msbuilderDlPath + +# Ensure destination folder exists. +$msBuilderPath = "$rootPath/cpp/msbuild/packages/zeroc.icebuilder.msbuild.5.0.7" +if(-Not (Test-Path -Path $msBuilderPath)) +{ + New-Item -Path $msBuilderPath -ItemType Directory -Force +} + +# Extract nuget archive to $msBuilderPath and remove the downloaded file +Expand-Archive -Path $msbuilderDlPath -DestinationPath $msBuilderPath +Remove-Item -Path $msbuilderDlPath + + diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake new file mode 100644 index 00000000000000..71cff83273c917 --- /dev/null +++ b/ports/zeroc-ice/portfile.cmake @@ -0,0 +1,299 @@ +# Common Ambient Variables: +# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} +# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} +# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} +# CURRENT_INSTALLED_DIR = ${VCPKG_ROOT_DIR}\installed\${TRIPLET} +# DOWNLOADS = ${VCPKG_ROOT_DIR}\downloads +# PORT = current port name (zlib, etc) +# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) +# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) +# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) +# VCPKG_ROOT_DIR = +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# VCPKG_TOOLCHAIN = ON OFF +# TRIPLET_SYSTEM_ARCH = arm x86 x64 +# BUILD_ARCH = "Win32" "x64" "ARM" +# MSBUILD_PLATFORM = "Win32"/"x64"/${TRIPLET_SYSTEM_ARCH} +# DEBUG_CONFIG = "Debug Static" "Debug Dll" +# RELEASE_CONFIG = "Release Static"" "Release DLL" +# VCPKG_TARGET_IS_WINDOWS +# VCPKG_TARGET_IS_UWP +# VCPKG_TARGET_IS_LINUX +# VCPKG_TARGET_IS_OSX +# VCPKG_TARGET_IS_FREEBSD +# VCPKG_TARGET_IS_ANDROID +# VCPKG_TARGET_IS_MINGW +# VCPKG_TARGET_EXECUTABLE_SUFFIX +# VCPKG_TARGET_STATIC_LIBRARY_SUFFIX +# VCPKG_TARGET_SHARED_LIBRARY_SUFFIX +# +# See additional helpful variables in /docs/maintainers/vcpkg_common_definitions.md + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zeroc-ice/ice + REF v3.7.7 + SHA512 73c3a2bb14c9e145383e4026206edd3e03b29c60a33af628611bfdab71d69a3aed108ce4e6cbfd67eb852560110e3495b4bd238c8cdf0de9d1f8e2f1088513ee +) + +set(RELEASE_TRIPLET ${TARGET_TRIPLET}-rel) +set(DEBUG_TRIPLET ${TARGET_TRIPLET}-dbg) + +get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) +set(RELEASE_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/${SOURCE_PATH_SUFFIX}) +set(DEBUG_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${DEBUG_TRIPLET}/${SOURCE_PATH_SUFFIX}) + + +if(NOT VCPKG_TARGET_IS_WINDOWS) + + # Setting these as environment variables, as .d files aren't generated the first time passing them 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 install V=1 prefix=${CURRENT_PACKAGES_DIR}/debug linux_id=vcpkg CONFIGS=${ICE_BUILD_CONFIG} USR_DIR_INSTALL=yes LANGUAGES=cpp OPTIMIZE=no -j${VCPKG_CONCURRENCY} srcs + WORKING_DIRECTORY ${SOURCE_PATH}/cpp + LOGNAME make-${TARGET_TRIPLET}-dbg + ) + + # Clean up for the next round + vcpkg_execute_build_process( + COMMAND make distclean + WORKING_DIRECTORY ${SOURCE_PATH}/cpp + LOGNAME make-clean-${TARGET_TRIPLET} + ) + + # Release build + set(ENV{LDFLAGS} "-L${CURRENT_INSTALLED_DIR}/lib") + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_build_process( + COMMAND make install V=1 prefix=${CURRENT_PACKAGES_DIR} linux_id=vcpkg CONFIGS=${ICE_BUILD_CONFIG} LANGUAGES=cpp USR_DIR_INSTALL=yes OPTIMIZE=yes -j${VCPKG_CONCURRENCY} srcs + WORKING_DIRECTORY ${SOURCE_PATH}/cpp + LOGNAME make-${TARGET_TRIPLET}-rel + ) + + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib64") + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib64 ${CURRENT_PACKAGES_DIR}/debug/lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib64 ${CURRENT_PACKAGES_DIR}/lib) + endif() + + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +else(NOT VCPKG_TARGET_IS_WINDOWS) + + # Fix project files to prevent nuget restore of dependencies and + # remove hard coded runtime linkage + vcpkg_execute_required_process( + COMMAND powershell ${CURRENT_PORT_DIR}/fixProjFiles.ps1 "${SOURCE_PATH}" + LOGNAME fixProjFiles-${TARGET_TRIPLET} + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} + ) + + set(ICE_MAPPING_NAME "cpp98") + if("cpp11" IN_LIST FEATURES) + set(ICE_CPP11_MAPPING "On") + set(ICE_MAPPING_NAME "cpp11") + endif() + + # Used as TARGET in vcpkg_install_msbuild() + set(ICE_MAIN_TARGET "C++98\\ice") + if(ICE_CPP11_MAPPING) + set(ICE_MAIN_TARGET "C++11\\ice++11") + endif() + + # Certain executables implicitly cause the builds C++98 based libraries they + # depend on, regardless of selected C++ mapping. + # Generated header files will only be installed for the selected C++ mapping. + + set(ICE_OPTIONAL_COMPONENTS "") + + # IceSSL + if("icessl" IN_LIST FEATURES) + if(ICE_CPP11_MAPPING) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icessl++11") + else() + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icessl") + endif() + endif() + + # Glacier2 + if("glacier2" IN_LIST FEATURES) + if(ICE_CPP11_MAPPING) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\glacier2++11") + else() + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\glacier2") + endif() + + endif() + + # Glacier2Router + if("glacier2router" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\glacier2router") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\glacier2cryptpermissionsverifier") + endif() + + # IceBox + if("icebox" IN_LIST FEATURES) + if(ICE_CPP11_MAPPING) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\iceboxlib++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icebox++11") + else() + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\iceboxlib") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icebox") + endif() + endif() + + # IceBoxAdmin executable + if("iceboxadmin" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\iceboxadmin") + endif() + + # IceGrid + if("icegrid" IN_LIST FEATURES) + if(ICE_CPP11_MAPPING) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icegrid++11") + else() + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icegrid") + endif() + endif() + + # IceGridAdmin + if("icegridadmin" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icegridadmin") + endif() + + # IceGridRegistry + if("icegridregistry" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icegridregistry") + endif() + + # IceGridNode + if("icegridnode" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icegridnode") + endif() + + # IceStorm + if("icestorm" IN_LIST FEATURES) + if(ICE_CPP11_MAPPING) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icestorm++11") + else() + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icestorm") + endif() + endif() + + # IceStormAdmin + if("icestormadmin" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icestormadmin") + endif() + + # IceStormService + if("icestormservice" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icestormservice") + endif() + + # IceStormDB + if("icestormdb" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icestormdb") + endif() + + # IceBridge executable + if("icebridge" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icebridge") + endif() + + # IceDiscovery + if("icediscovery" IN_LIST FEATURES) + if(ICE_CPP11_MAPPING) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icediscovery++11") + else() + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icediscovery") + endif() + endif() + + # Build Ice + vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH cpp/msbuild/ice.v142.sln + SKIP_CLEAN + TARGET ${ICE_MAIN_TARGET} + USE_VCPKG_INTEGRATION + OPTIONS + /p:UseVcpkg=yes + /p:IceBuildingSrc=yes + ${ICE_OPTIONAL_COMPONENTS} + ) + + 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 + function(install_includes ORIGINAL_PATH RELATIVE_PATHS) + foreach(RELATIVE_PATH ${RELATIVE_PATHS}) + file( + GLOB + HEADER_FILES + ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h) + file(COPY ${HEADER_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/include/${RELATIVE_PATH}) + endforeach() + endfunction() + + # Install header files + set(INCLUDE_SUB_DIRECTORIES + "Glacier2" + "Ice" + "IceBox" + "IceGrid" + "IcePatch2" + "IceSSL" + "IceStorm" + "IceUtil" + ) + + install_includes("${RELEASE_BUILD_DIR}/cpp/include" "${INCLUDE_SUB_DIRECTORIES}") + + # Install generated header files (they depend on the selected C++ mapping) + set(INCLUDE_GEN_SUB_DIRECTORIES + "Glacier2" + "Ice" + "IceBox" + "IceSSL" + "IceStorm" + ) + install_includes("${RELEASE_BUILD_DIR}/cpp/include/generated/${ICE_MAPPING_NAME}/${TRIPLET_SYSTEM_ARCH}/Release" "${INCLUDE_GEN_SUB_DIRECTORIES}") + + vcpkg_clean_msbuild() + +endif(NOT VCPKG_TARGET_IS_WINDOWS) + +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) + +if(NOT VCPKG_TARGET_IS_WINDOWS) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +if(VCPKG_TARGET_IS_OSX) + file(REMOVE "${CURRENT_PACKAGES_DIR}/.DS_Store") +endif() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/zeroc-ice RENAME copyright) diff --git a/ports/zeroc-ice/vcpkg.json b/ports/zeroc-ice/vcpkg.json new file mode 100644 index 00000000000000..6dcbd3febb1a1b --- /dev/null +++ b/ports/zeroc-ice/vcpkg.json @@ -0,0 +1,187 @@ +{ + "name": "zeroc-ice", + "version-string": "3.7.7", + "homepage": "https://github.com/zeroc-ice/ice", + "description": "Comprehensive RPC framework with support for C++, CSharp, Java, JavaScript, Python and more.", + "license": null, + "dependencies": [ + "bzip2", + "mcpp", + "zlib" + ], + "default-features": [ + "glacier2", + "icestorm", + "icebox", + "icessl" + ], + "features": { + "icessl": { + "description": "IceSSL", + "dependencies": [ + { + "name": "openssl", + "platform": "!windows" + } + ] + }, + "glacier2": { + "description": "Glacier2" + }, + "glacier2router": { + "description": "Glacier2Router", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2", + "icessl" + ] + } + ] + }, + "icebox": { + "description": "IceBox" + }, + "iceboxadmin": { + "description": "IceBoxAdmin", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "icebox" + ] + } + ] + }, + "icegrid": { + "description": "IceGrid", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2" + ] + } + ] + }, + "icegridadmin": { + "description": "IceGridAdmin", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "icegrid", + "glacier2", + "icebox" + ] + }, + "expat" + ] + }, + "icegridregistry": { + "description": "IceGridRegistry", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2", + "icebox", + "icegrid", + "icessl" + ] + }, + "lmdb", + "expat" + ] + }, + "icegridnode": { + "description": "IceGridNode", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2", + "icebox", + "icegrid", + "icessl" + ] + }, + "lmdb", + "expat" + ] + }, + "icestorm": { + "description": "IceStorm library" + }, + "icestormadmin": { + "description": "IceStormAdmin", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "icebox", + "icestorm" + ] + } + ] + }, + "icestormservice": { + "description": "IceStormService", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2", + "icebox", + "icegrid", + "icestorm" + ] + }, + "lmdb" + ] + }, + "icestormdb": { + "description": "IceStorm database utility", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "icestorm" + ] + }, + "lmdb", + "bzip2" + ] + }, + "icebridge": { + "description": "IceBridge", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "icebox" + ] + } + ] + }, + "icediscovery": { + "description": "IceDiscovery", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2", + "icebox", + "icestorm", + "icessl" + ] + } + ] + }, + "cpp11": { + "description": "C++11 mapping" + } + } + +} From 0833b309fb197ef39f0b2a056576aa385c9f6c01 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 24 Mar 2022 23:09:48 -0700 Subject: [PATCH 02/34] clean up --- ports/zeroc-ice/portfile.cmake | 33 --------------------------------- ports/zeroc-ice/vcpkg.json | 4 +++- 2 files changed, 3 insertions(+), 34 deletions(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index 71cff83273c917..cbcd508e6881f5 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -1,33 +1,3 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# CURRENT_INSTALLED_DIR = ${VCPKG_ROOT_DIR}\installed\${TRIPLET} -# DOWNLOADS = ${VCPKG_ROOT_DIR}\downloads -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# VCPKG_TOOLCHAIN = ON OFF -# TRIPLET_SYSTEM_ARCH = arm x86 x64 -# BUILD_ARCH = "Win32" "x64" "ARM" -# MSBUILD_PLATFORM = "Win32"/"x64"/${TRIPLET_SYSTEM_ARCH} -# DEBUG_CONFIG = "Debug Static" "Debug Dll" -# RELEASE_CONFIG = "Release Static"" "Release DLL" -# VCPKG_TARGET_IS_WINDOWS -# VCPKG_TARGET_IS_UWP -# VCPKG_TARGET_IS_LINUX -# VCPKG_TARGET_IS_OSX -# VCPKG_TARGET_IS_FREEBSD -# VCPKG_TARGET_IS_ANDROID -# VCPKG_TARGET_IS_MINGW -# VCPKG_TARGET_EXECUTABLE_SUFFIX -# VCPKG_TARGET_STATIC_LIBRARY_SUFFIX -# VCPKG_TARGET_SHARED_LIBRARY_SUFFIX -# -# See additional helpful variables in /docs/maintainers/vcpkg_common_definitions.md vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -40,9 +10,6 @@ set(RELEASE_TRIPLET ${TARGET_TRIPLET}-rel) set(DEBUG_TRIPLET ${TARGET_TRIPLET}-dbg) get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) -set(RELEASE_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/${SOURCE_PATH_SUFFIX}) -set(DEBUG_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${DEBUG_TRIPLET}/${SOURCE_PATH_SUFFIX}) - if(NOT VCPKG_TARGET_IS_WINDOWS) diff --git a/ports/zeroc-ice/vcpkg.json b/ports/zeroc-ice/vcpkg.json index 6dcbd3febb1a1b..1f0f1a5a4d7335 100644 --- a/ports/zeroc-ice/vcpkg.json +++ b/ports/zeroc-ice/vcpkg.json @@ -7,7 +7,9 @@ "dependencies": [ "bzip2", "mcpp", - "zlib" + "zlib", + "expat", + "lmdb" ], "default-features": [ "glacier2", From 4912e1814ae7126bce04417caa495f415b23ae6a Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 24 Mar 2022 23:22:52 -0700 Subject: [PATCH 03/34] updated manifest and version --- ports/zeroc-ice/vcpkg.json | 377 ++++++++++++++++++------------------- versions/baseline.json | 4 + versions/z-/zeroc-ice.json | 9 + 3 files changed, 201 insertions(+), 189 deletions(-) create mode 100644 versions/z-/zeroc-ice.json diff --git a/ports/zeroc-ice/vcpkg.json b/ports/zeroc-ice/vcpkg.json index 1f0f1a5a4d7335..bbea9a23751469 100644 --- a/ports/zeroc-ice/vcpkg.json +++ b/ports/zeroc-ice/vcpkg.json @@ -1,189 +1,188 @@ -{ - "name": "zeroc-ice", - "version-string": "3.7.7", - "homepage": "https://github.com/zeroc-ice/ice", - "description": "Comprehensive RPC framework with support for C++, CSharp, Java, JavaScript, Python and more.", - "license": null, - "dependencies": [ - "bzip2", - "mcpp", - "zlib", - "expat", - "lmdb" - ], - "default-features": [ - "glacier2", - "icestorm", - "icebox", - "icessl" - ], - "features": { - "icessl": { - "description": "IceSSL", - "dependencies": [ - { - "name": "openssl", - "platform": "!windows" - } - ] - }, - "glacier2": { - "description": "Glacier2" - }, - "glacier2router": { - "description": "Glacier2Router", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "glacier2", - "icessl" - ] - } - ] - }, - "icebox": { - "description": "IceBox" - }, - "iceboxadmin": { - "description": "IceBoxAdmin", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "icebox" - ] - } - ] - }, - "icegrid": { - "description": "IceGrid", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "glacier2" - ] - } - ] - }, - "icegridadmin": { - "description": "IceGridAdmin", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "icegrid", - "glacier2", - "icebox" - ] - }, - "expat" - ] - }, - "icegridregistry": { - "description": "IceGridRegistry", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "glacier2", - "icebox", - "icegrid", - "icessl" - ] - }, - "lmdb", - "expat" - ] - }, - "icegridnode": { - "description": "IceGridNode", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "glacier2", - "icebox", - "icegrid", - "icessl" - ] - }, - "lmdb", - "expat" - ] - }, - "icestorm": { - "description": "IceStorm library" - }, - "icestormadmin": { - "description": "IceStormAdmin", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "icebox", - "icestorm" - ] - } - ] - }, - "icestormservice": { - "description": "IceStormService", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "glacier2", - "icebox", - "icegrid", - "icestorm" - ] - }, - "lmdb" - ] - }, - "icestormdb": { - "description": "IceStorm database utility", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "icestorm" - ] - }, - "lmdb", - "bzip2" - ] - }, - "icebridge": { - "description": "IceBridge", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "icebox" - ] - } - ] - }, - "icediscovery": { - "description": "IceDiscovery", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "glacier2", - "icebox", - "icestorm", - "icessl" - ] - } - ] - }, - "cpp11": { - "description": "C++11 mapping" - } - } - -} +{ + "name": "zeroc-ice", + "version": "3.7.7", + "description": "Comprehensive RPC framework with support for C++, CSharp, Java, JavaScript, Python and more.", + "homepage": "https://github.com/zeroc-ice/ice", + "license": null, + "dependencies": [ + "bzip2", + "expat", + "lmdb", + "mcpp", + "zlib" + ], + "default-features": [ + "glacier2", + "icebox", + "icessl", + "icestorm" + ], + "features": { + "cpp11": { + "description": "C++11 mapping" + }, + "glacier2": { + "description": "Glacier2" + }, + "glacier2router": { + "description": "Glacier2Router", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2", + "icessl" + ] + } + ] + }, + "icebox": { + "description": "IceBox" + }, + "iceboxadmin": { + "description": "IceBoxAdmin", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "icebox" + ] + } + ] + }, + "icebridge": { + "description": "IceBridge", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "icebox" + ] + } + ] + }, + "icediscovery": { + "description": "IceDiscovery", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2", + "icebox", + "icessl", + "icestorm" + ] + } + ] + }, + "icegrid": { + "description": "IceGrid", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2" + ] + } + ] + }, + "icegridadmin": { + "description": "IceGridAdmin", + "dependencies": [ + "expat", + { + "name": "zeroc-ice", + "features": [ + "glacier2", + "icebox", + "icegrid" + ] + } + ] + }, + "icegridnode": { + "description": "IceGridNode", + "dependencies": [ + "expat", + "lmdb", + { + "name": "zeroc-ice", + "features": [ + "glacier2", + "icebox", + "icegrid", + "icessl" + ] + } + ] + }, + "icegridregistry": { + "description": "IceGridRegistry", + "dependencies": [ + "expat", + "lmdb", + { + "name": "zeroc-ice", + "features": [ + "glacier2", + "icebox", + "icegrid", + "icessl" + ] + } + ] + }, + "icessl": { + "description": "IceSSL", + "dependencies": [ + { + "name": "openssl", + "platform": "!windows" + } + ] + }, + "icestorm": { + "description": "IceStorm library" + }, + "icestormadmin": { + "description": "IceStormAdmin", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "icebox", + "icestorm" + ] + } + ] + }, + "icestormdb": { + "description": "IceStorm database utility", + "dependencies": [ + "bzip2", + "lmdb", + { + "name": "zeroc-ice", + "features": [ + "icestorm" + ] + } + ] + }, + "icestormservice": { + "description": "IceStormService", + "dependencies": [ + "lmdb", + { + "name": "zeroc-ice", + "features": [ + "glacier2", + "icebox", + "icegrid", + "icestorm" + ] + } + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 830818f52a56c4..6e1aca3ceca2d0 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7616,6 +7616,10 @@ "baseline": "1.0", "port-version": 1 }, + "zeroc-ice": { + "baseline": "3.7.7", + "port-version": 0 + }, "zeromq": { "baseline": "4.3.4", "port-version": 5 diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json new file mode 100644 index 00000000000000..5814d6d7d0ef61 --- /dev/null +++ b/versions/z-/zeroc-ice.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "38305b2ef3fe0742978b9b6bc101afb1f6141161", + "version": "3.7.7", + "port-version": 0 + } + ] +} From a5b61cb3bef969f39870e350fa54841729e3373c Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 24 Mar 2022 23:35:28 -0700 Subject: [PATCH 04/34] Removed C++11 mapping option (feature) and made C++11 the default mapping. --- ports/zeroc-ice/portfile.cmake | 56 +++++----------------------------- ports/zeroc-ice/vcpkg.json | 3 -- 2 files changed, 7 insertions(+), 52 deletions(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index cbcd508e6881f5..43e22ffeeae9e7 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -66,42 +66,17 @@ else(NOT VCPKG_TARGET_IS_WINDOWS) LOGNAME fixProjFiles-${TARGET_TRIPLET} WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} ) - - set(ICE_MAPPING_NAME "cpp98") - if("cpp11" IN_LIST FEATURES) - set(ICE_CPP11_MAPPING "On") - set(ICE_MAPPING_NAME "cpp11") - endif() - - # Used as TARGET in vcpkg_install_msbuild() - set(ICE_MAIN_TARGET "C++98\\ice") - if(ICE_CPP11_MAPPING) - set(ICE_MAIN_TARGET "C++11\\ice++11") - endif() - - # Certain executables implicitly cause the builds C++98 based libraries they - # depend on, regardless of selected C++ mapping. - # Generated header files will only be installed for the selected C++ mapping. set(ICE_OPTIONAL_COMPONENTS "") # IceSSL if("icessl" IN_LIST FEATURES) - if(ICE_CPP11_MAPPING) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icessl++11") - else() - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icessl") - endif() + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icessl++11") endif() # Glacier2 if("glacier2" IN_LIST FEATURES) - if(ICE_CPP11_MAPPING) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\glacier2++11") - else() - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\glacier2") - endif() - + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\glacier2++11") endif() # Glacier2Router @@ -112,13 +87,8 @@ else(NOT VCPKG_TARGET_IS_WINDOWS) # IceBox if("icebox" IN_LIST FEATURES) - if(ICE_CPP11_MAPPING) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\iceboxlib++11") - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icebox++11") - else() - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\iceboxlib") - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icebox") - endif() + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\iceboxlib++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icebox++11") endif() # IceBoxAdmin executable @@ -128,11 +98,7 @@ else(NOT VCPKG_TARGET_IS_WINDOWS) # IceGrid if("icegrid" IN_LIST FEATURES) - if(ICE_CPP11_MAPPING) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icegrid++11") - else() - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icegrid") - endif() + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icegrid++11") endif() # IceGridAdmin @@ -152,11 +118,7 @@ else(NOT VCPKG_TARGET_IS_WINDOWS) # IceStorm if("icestorm" IN_LIST FEATURES) - if(ICE_CPP11_MAPPING) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icestorm++11") - else() - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icestorm") - endif() + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icestorm++11") endif() # IceStormAdmin @@ -181,11 +143,7 @@ else(NOT VCPKG_TARGET_IS_WINDOWS) # IceDiscovery if("icediscovery" IN_LIST FEATURES) - if(ICE_CPP11_MAPPING) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icediscovery++11") - else() - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icediscovery") - endif() + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icediscovery++11") endif() # Build Ice diff --git a/ports/zeroc-ice/vcpkg.json b/ports/zeroc-ice/vcpkg.json index bbea9a23751469..2ce63b82bd7e98 100644 --- a/ports/zeroc-ice/vcpkg.json +++ b/ports/zeroc-ice/vcpkg.json @@ -18,9 +18,6 @@ "icestorm" ], "features": { - "cpp11": { - "description": "C++11 mapping" - }, "glacier2": { "description": "Glacier2" }, From 897bbffad18e20ec22888a9f722782f73e475d53 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 24 Mar 2022 23:37:53 -0700 Subject: [PATCH 05/34] updated version --- versions/z-/zeroc-ice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json index 5814d6d7d0ef61..1131c7a7f62af9 100644 --- a/versions/z-/zeroc-ice.json +++ b/versions/z-/zeroc-ice.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "38305b2ef3fe0742978b9b6bc101afb1f6141161", + "git-tree": "b0871b1fa5b10cdb71df1b110de4d7ca0dc0cc57", "version": "3.7.7", "port-version": 0 } From 39c27d090bb29642f9d09f960fecf7f0b7f65065 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Fri, 25 Mar 2022 00:14:47 -0700 Subject: [PATCH 06/34] added main target added entries to ci.baseline.txt --- ports/zeroc-ice/portfile.cmake | 10 ++++++++-- scripts/ci.baseline.txt | 8 ++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index 43e22ffeeae9e7..9cdea78d4fedbd 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -67,6 +67,7 @@ else(NOT VCPKG_TARGET_IS_WINDOWS) WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} ) + set(ICE_OPTIONAL_COMPONENTS "") # IceSSL @@ -146,12 +147,17 @@ else(NOT VCPKG_TARGET_IS_WINDOWS) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icediscovery++11") endif() +set(MSVC_TOOLSET_VER ${VCPKG_PLATFORM_TOOLSET}) +if(${VCPKG_PLATFORM_TOOLSET} STREQUAL "v144" OR ${VCPKG_PLATFORM_TOOLSET} STREQUAL "v145") + set(MSVC_TOOLSET_VER "v143") +endif() + # Build Ice vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH cpp/msbuild/ice.v142.sln + PROJECT_SUBPATH "cpp/msbuild/ice.${VCPKG_PLATFORM_TOOLSET}.sln" SKIP_CLEAN - TARGET ${ICE_MAIN_TARGET} + TARGET "C++11\\ice++11" USE_VCPKG_INTEGRATION OPTIONS /p:UseVcpkg=yes diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 587b21418c3e46..1462cbd8f228d1 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1439,3 +1439,11 @@ workflow:arm-uwp=fail # See https://developercommunity.visualstudio.com/t/Toolset-169-regression-vcxproj-producin/1356639 dimcli:x64-windows-static-md=fail dimcli:x64-windows-static=fail + +# ZeroC doesn't provide ARM tagets in project files. +zeroc-ice:arm64-windows=fail +zeroc-ice:x64-linux=fail +zeroc-ice:x64-osx=fail +zeroc-ice:arm_uwp=fail +zeroc-ice:x64_uwp=fail + From b031d7ecaeec88399e8ccb436eab2c1098ef9b24 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Fri, 25 Mar 2022 00:15:26 -0700 Subject: [PATCH 07/34] corrected ci.baseline.txt entries --- scripts/ci.baseline.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 1462cbd8f228d1..75eb0cf82d1c8d 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1444,6 +1444,6 @@ dimcli:x64-windows-static=fail zeroc-ice:arm64-windows=fail zeroc-ice:x64-linux=fail zeroc-ice:x64-osx=fail -zeroc-ice:arm_uwp=fail -zeroc-ice:x64_uwp=fail +zeroc-ice:arm-uwp=fail +zeroc-ice:x64-uwp=fail From 45efd8cb61afcd55dbbc237c99d31f5c66f645da Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Fri, 25 Mar 2022 00:16:27 -0700 Subject: [PATCH 08/34] updated version --- versions/z-/zeroc-ice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json index 1131c7a7f62af9..0e1f59f2898b9e 100644 --- a/versions/z-/zeroc-ice.json +++ b/versions/z-/zeroc-ice.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "b0871b1fa5b10cdb71df1b110de4d7ca0dc0cc57", + "git-tree": "4cecb516e83aba9fb9c56153b7fa1f7040143aae", "version": "3.7.7", "port-version": 0 } From 6963f50cafbc8acdec8f694f0df7b40f5313daed Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Fri, 25 Mar 2022 00:30:15 -0700 Subject: [PATCH 09/34] fixed generated header path --- ports/zeroc-ice/portfile.cmake | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index 9cdea78d4fedbd..ebce436bde10b5 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -198,7 +198,6 @@ endif() install_includes("${RELEASE_BUILD_DIR}/cpp/include" "${INCLUDE_SUB_DIRECTORIES}") - # Install generated header files (they depend on the selected C++ mapping) set(INCLUDE_GEN_SUB_DIRECTORIES "Glacier2" "Ice" @@ -206,7 +205,7 @@ endif() "IceSSL" "IceStorm" ) - install_includes("${RELEASE_BUILD_DIR}/cpp/include/generated/${ICE_MAPPING_NAME}/${TRIPLET_SYSTEM_ARCH}/Release" "${INCLUDE_GEN_SUB_DIRECTORIES}") + install_includes("${RELEASE_BUILD_DIR}/cpp/include/generated/cpp11/${TRIPLET_SYSTEM_ARCH}/Release" "${INCLUDE_GEN_SUB_DIRECTORIES}") vcpkg_clean_msbuild() From 6c722201687f27d050a60f23539fe41b97db9bfe Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Fri, 25 Mar 2022 00:31:49 -0700 Subject: [PATCH 10/34] Updated version --- versions/z-/zeroc-ice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json index 0e1f59f2898b9e..e267b2d73fda0c 100644 --- a/versions/z-/zeroc-ice.json +++ b/versions/z-/zeroc-ice.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "4cecb516e83aba9fb9c56153b7fa1f7040143aae", + "git-tree": "37beab9f818399c78da3afe9f1bcf49ad706136a", "version": "3.7.7", "port-version": 0 } From c659211e452e21bf480ea28cf8d6eda5be7c6244 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Fri, 25 Mar 2022 02:16:38 -0700 Subject: [PATCH 11/34] fixed include paths --- ports/zeroc-ice/portfile.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index ebce436bde10b5..5b86bb1eac9c5d 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -10,6 +10,8 @@ set(RELEASE_TRIPLET ${TARGET_TRIPLET}-rel) set(DEBUG_TRIPLET ${TARGET_TRIPLET}-dbg) get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) +set(RELEASE_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/${SOURCE_PATH_SUFFIX}) +set(DEBUG_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${DEBUG_TRIPLET}/${SOURCE_PATH_SUFFIX}) if(NOT VCPKG_TARGET_IS_WINDOWS) From 75c052db7b2a5024591de0777ddc99342655e1c9 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Fri, 25 Mar 2022 02:16:57 -0700 Subject: [PATCH 12/34] updated version --- versions/z-/zeroc-ice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json index e267b2d73fda0c..948b95cac0e126 100644 --- a/versions/z-/zeroc-ice.json +++ b/versions/z-/zeroc-ice.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "37beab9f818399c78da3afe9f1bcf49ad706136a", + "git-tree": "72a95b05fe9ff50dac7c790bcbaceb80964d7f71", "version": "3.7.7", "port-version": 0 } From f60f20cde1744bce6c5db7ff32d0d004a44fc082 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Fri, 25 Mar 2022 03:39:16 -0700 Subject: [PATCH 13/34] expect x64-windows-static to fail --- scripts/ci.baseline.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 75eb0cf82d1c8d..9744a0b910f28c 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1442,8 +1442,8 @@ dimcli:x64-windows-static=fail # ZeroC doesn't provide ARM tagets in project files. zeroc-ice:arm64-windows=fail -zeroc-ice:x64-linux=fail -zeroc-ice:x64-osx=fail zeroc-ice:arm-uwp=fail zeroc-ice:x64-uwp=fail - +zeroc-ice:x64-windows-static=fail +zeroc-ice:x64-linux=fail +zeroc-ice:x64-osx=fail \ No newline at end of file From 371847c19349dc77c3b3919f0ec5116d09ba3740 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Fri, 25 Mar 2022 19:55:06 +0700 Subject: [PATCH 14/34] added patches for clang 13 --- ports/zeroc-ice/md5i_fix.patch | 13 +++ ports/zeroc-ice/portfile.cmake | 158 ++++++++++++++++-------------- ports/zeroc-ice/slice2swift.patch | 25 +++++ 3 files changed, 121 insertions(+), 75 deletions(-) create mode 100644 ports/zeroc-ice/md5i_fix.patch create mode 100644 ports/zeroc-ice/slice2swift.patch diff --git a/ports/zeroc-ice/md5i_fix.patch b/ports/zeroc-ice/md5i_fix.patch new file mode 100644 index 00000000000000..428071521db6b8 --- /dev/null +++ b/ports/zeroc-ice/md5i_fix.patch @@ -0,0 +1,13 @@ +diff --git a/cpp/src/Slice/MD5I.cpp b/cpp/src/Slice/MD5I.cpp +index 66f4de545b..2430b1fd1b 100644 +--- a/cpp/src/Slice/MD5I.cpp ++++ b/cpp/src/Slice/MD5I.cpp +@@ -172,7 +172,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(data)) & 3)) { + /* data are properly aligned */ + X = (const md5_word_t *)data; + } else { diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index 5b86bb1eac9c5d..2a04969bba3383 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -4,6 +4,7 @@ vcpkg_from_github( REPO zeroc-ice/ice REF v3.7.7 SHA512 73c3a2bb14c9e145383e4026206edd3e03b29c60a33af628611bfdab71d69a3aed108ce4e6cbfd67eb852560110e3495b4bd238c8cdf0de9d1f8e2f1088513ee + PATCHES md5i_fix.patch slice2swift.patch ) set(RELEASE_TRIPLET ${TARGET_TRIPLET}-rel) @@ -13,142 +14,149 @@ get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) set(RELEASE_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/${SOURCE_PATH_SUFFIX}) set(DEBUG_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${DEBUG_TRIPLET}/${SOURCE_PATH_SUFFIX}) -if(NOT VCPKG_TARGET_IS_WINDOWS) - - # Setting these as environment variables, as .d files aren't generated the first time passing them 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 install V=1 prefix=${CURRENT_PACKAGES_DIR}/debug linux_id=vcpkg CONFIGS=${ICE_BUILD_CONFIG} USR_DIR_INSTALL=yes LANGUAGES=cpp OPTIMIZE=no -j${VCPKG_CONCURRENCY} srcs - WORKING_DIRECTORY ${SOURCE_PATH}/cpp - LOGNAME make-${TARGET_TRIPLET}-dbg - ) - - # Clean up for the next round - vcpkg_execute_build_process( - COMMAND make distclean - WORKING_DIRECTORY ${SOURCE_PATH}/cpp - LOGNAME make-clean-${TARGET_TRIPLET} - ) - - # Release build - set(ENV{LDFLAGS} "-L${CURRENT_INSTALLED_DIR}/lib") - message(STATUS "Building ${TARGET_TRIPLET}-rel") - vcpkg_execute_build_process( - COMMAND make install V=1 prefix=${CURRENT_PACKAGES_DIR} linux_id=vcpkg CONFIGS=${ICE_BUILD_CONFIG} LANGUAGES=cpp USR_DIR_INSTALL=yes OPTIMIZE=yes -j${VCPKG_CONCURRENCY} srcs - WORKING_DIRECTORY ${SOURCE_PATH}/cpp - LOGNAME make-${TARGET_TRIPLET}-rel - ) - - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib64") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib64 ${CURRENT_PACKAGES_DIR}/debug/lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib64 ${CURRENT_PACKAGES_DIR}/lib) - endif() - - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -else(NOT VCPKG_TARGET_IS_WINDOWS) - - # Fix project files to prevent nuget restore of dependencies and - # remove hard coded runtime linkage - vcpkg_execute_required_process( - COMMAND powershell ${CURRENT_PORT_DIR}/fixProjFiles.ps1 "${SOURCE_PATH}" - LOGNAME fixProjFiles-${TARGET_TRIPLET} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} - ) - - - set(ICE_OPTIONAL_COMPONENTS "") + set(ICE_OPTIONAL_COMPONENTS_MSBUILD "") + set(ICE_OPTIONAL_COMPONENTS_MAKE "") # IceSSL if("icessl" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icessl++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icessl++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "src/IceSSL") endif() # Glacier2 if("glacier2" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\glacier2++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\glacier2++11") endif() # Glacier2Router if("glacier2router" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\glacier2router") - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\glacier2cryptpermissionsverifier") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\glacier2router") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\glacier2cryptpermissionsverifier") endif() # IceBox if("icebox" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\iceboxlib++11") - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icebox++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\iceboxlib++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icebox++11") endif() # IceBoxAdmin executable if("iceboxadmin" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\iceboxadmin") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\iceboxadmin") endif() # IceGrid if("icegrid" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icegrid++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icegrid++11") endif() # IceGridAdmin if("icegridadmin" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icegridadmin") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridadmin") endif() # IceGridRegistry if("icegridregistry" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icegridregistry") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridregistry") endif() # IceGridNode if("icegridnode" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icegridnode") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridnode") endif() # IceStorm if("icestorm" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icestorm++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icestorm++11") endif() # IceStormAdmin if("icestormadmin" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icestormadmin") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormadmin") endif() # IceStormService if("icestormservice" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icestormservice") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormservice") endif() # IceStormDB if("icestormdb" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icestormdb") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormdb") endif() # IceBridge executable if("icebridge" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++98\\icebridge") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icebridge") endif() # IceDiscovery if("icediscovery" IN_LIST FEATURES) - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS "/t:C++11\\icediscovery++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icediscovery++11") endif() + + +if(NOT VCPKG_TARGET_IS_WINDOWS) + + # Setting these as environment variables, as .d files aren't generated the first time passing them 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 "cpp11-shared") + if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "static") + set(ICE_BUILD_CONFIG "cpp11-static") + endif() + + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_build_process( + COMMAND make install 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 + ) + + # Clean up for the next round + vcpkg_execute_build_process( + COMMAND make distclean + WORKING_DIRECTORY ${SOURCE_PATH}/cpp + LOGNAME make-clean-${TARGET_TRIPLET} + ) + + # Release build + set(ENV{LDFLAGS} "-L${CURRENT_INSTALLED_DIR}/lib") + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_build_process( + COMMAND make install V=1 prefix=${CURRENT_PACKAGES_DIR} linux_id=vcpkg CONFIGS=${ICE_BUILD_CONFIG} LANGUAGES=cpp USR_DIR_INSTALL=yes OPTIMIZE=yes -j${VCPKG_CONCURRENCY} srcs + WORKING_DIRECTORY ${SOURCE_PATH}/cpp + LOGNAME make-${TARGET_TRIPLET}-rel + ) + + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib64") + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib64 ${CURRENT_PACKAGES_DIR}/debug/lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib64 ${CURRENT_PACKAGES_DIR}/lib) + endif() + + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +else(NOT VCPKG_TARGET_IS_WINDOWS) + + # Fix project files to prevent nuget restore of dependencies and + # remove hard coded runtime linkage + vcpkg_execute_required_process( + COMMAND powershell ${CURRENT_PORT_DIR}/fixProjFiles.ps1 "${SOURCE_PATH}" + LOGNAME fixProjFiles-${TARGET_TRIPLET} + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} + ) + + + + set(MSVC_TOOLSET_VER ${VCPKG_PLATFORM_TOOLSET}) if(${VCPKG_PLATFORM_TOOLSET} STREQUAL "v144" OR ${VCPKG_PLATFORM_TOOLSET} STREQUAL "v145") set(MSVC_TOOLSET_VER "v143") @@ -164,7 +172,7 @@ endif() OPTIONS /p:UseVcpkg=yes /p:IceBuildingSrc=yes - ${ICE_OPTIONAL_COMPONENTS} + ${ICE_OPTIONAL_COMPONENTS_MSBUILD} ) if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/zeroc.icebuilder.msbuild.dll") diff --git a/ports/zeroc-ice/slice2swift.patch b/ports/zeroc-ice/slice2swift.patch new file mode 100644 index 00000000000000..6c45cb82db7240 --- /dev/null +++ b/ports/zeroc-ice/slice2swift.patch @@ -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) + { From ecb126bc741326fc05b07546426b015ca112e885 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Fri, 25 Mar 2022 19:57:37 +0700 Subject: [PATCH 15/34] update version --- versions/z-/zeroc-ice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json index 948b95cac0e126..47e2b16b47ffe6 100644 --- a/versions/z-/zeroc-ice.json +++ b/versions/z-/zeroc-ice.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "72a95b05fe9ff50dac7c790bcbaceb80964d7f71", + "git-tree": "2f07afb2c092079d8f1d41a1e8a61a513c5d9405", "version": "3.7.7", "port-version": 0 } From 85dc81fc4fc3ff53d60310181f06e68c6768c9b9 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Tue, 29 Mar 2022 13:03:12 +0700 Subject: [PATCH 16/34] Update ports/zeroc-ice/portfile.cmake Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com> --- ports/zeroc-ice/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index 2a04969bba3383..0535bc0ddbb4ad 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -109,7 +109,7 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) set(ENV{LDFLAGS} "-L${CURRENT_INSTALLED_DIR}/debug/lib") set(ICE_BUILD_CONFIG "cpp11-shared") - if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "static") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(ICE_BUILD_CONFIG "cpp11-static") endif() From ac20f97307af802f0361ffe5cec936dde08231d6 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Tue, 29 Mar 2022 14:13:39 +0700 Subject: [PATCH 17/34] 2->4 spaces --- ports/zeroc-ice/portfile.cmake | 346 ++++++++++++++++----------------- 1 file changed, 172 insertions(+), 174 deletions(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index 0535bc0ddbb4ad..c3c9fc86364738 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -15,224 +15,222 @@ set(RELEASE_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/${SOURCE_PATH set(DEBUG_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${DEBUG_TRIPLET}/${SOURCE_PATH_SUFFIX}) - set(ICE_OPTIONAL_COMPONENTS_MSBUILD "") - set(ICE_OPTIONAL_COMPONENTS_MAKE "") - - # IceSSL - if("icessl" IN_LIST FEATURES) +set(ICE_OPTIONAL_COMPONENTS_MSBUILD "") +set(ICE_OPTIONAL_COMPONENTS_MAKE "") + +# 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 "src/IceSSL") - endif() +endif() - # Glacier2 - if("glacier2" IN_LIST FEATURES) +# Glacier2 +if("glacier2" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\glacier2++11") - endif() - - # Glacier2Router - if("glacier2router" IN_LIST FEATURES) +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") - endif() +endif() - # IceBox - if("icebox" IN_LIST FEATURES) +# IceBox +if("icebox" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\iceboxlib++11") vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icebox++11") - endif() +endif() - # IceBoxAdmin executable - if("iceboxadmin" IN_LIST FEATURES) +# IceBoxAdmin executable +if("iceboxadmin" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\iceboxadmin") - endif() +endif() - # IceGrid - if("icegrid" IN_LIST FEATURES) +# IceGrid +if("icegrid" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icegrid++11") - endif() - - # IceGridAdmin - if("icegridadmin" IN_LIST FEATURES) +endif() + +# IceGridAdmin +if("icegridadmin" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridadmin") - endif() - - # IceGridRegistry - if("icegridregistry" IN_LIST FEATURES) +endif() + +# IceGridRegistry +if("icegridregistry" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridregistry") - endif() - - # IceGridNode - if("icegridnode" IN_LIST FEATURES) +endif() + +# IceGridNode +if("icegridnode" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridnode") - endif() +endif() - # IceStorm - if("icestorm" IN_LIST FEATURES) +# IceStorm +if("icestorm" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icestorm++11") - endif() - - # IceStormAdmin - if("icestormadmin" IN_LIST FEATURES) +endif() + +# IceStormAdmin +if("icestormadmin" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormadmin") - endif() - - # IceStormService - if("icestormservice" IN_LIST FEATURES) +endif() + + # IceStormService +if("icestormservice" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormservice") - endif() - - # IceStormDB - if("icestormdb" IN_LIST FEATURES) +endif() + +# IceStormDB +if("icestormdb" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormdb") - endif() +endif() - # IceBridge executable - if("icebridge" IN_LIST FEATURES) +# IceBridge executable +if("icebridge" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icebridge") - endif() +endif() - # IceDiscovery - if("icediscovery" IN_LIST FEATURES) +# IceDiscovery +if("icediscovery" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icediscovery++11") - endif() +endif() if(NOT VCPKG_TARGET_IS_WINDOWS) - # Setting these as environment variables, as .d files aren't generated the first time passing them 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 "cpp11-shared") - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(ICE_BUILD_CONFIG "cpp11-static") - endif() - - message(STATUS "Building ${TARGET_TRIPLET}-dbg") - vcpkg_execute_build_process( - COMMAND make install 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 - ) - - # Clean up for the next round - vcpkg_execute_build_process( - COMMAND make distclean - WORKING_DIRECTORY ${SOURCE_PATH}/cpp - LOGNAME make-clean-${TARGET_TRIPLET} - ) - - # Release build - set(ENV{LDFLAGS} "-L${CURRENT_INSTALLED_DIR}/lib") - message(STATUS "Building ${TARGET_TRIPLET}-rel") - vcpkg_execute_build_process( - COMMAND make install V=1 prefix=${CURRENT_PACKAGES_DIR} linux_id=vcpkg CONFIGS=${ICE_BUILD_CONFIG} LANGUAGES=cpp USR_DIR_INSTALL=yes OPTIMIZE=yes -j${VCPKG_CONCURRENCY} srcs - WORKING_DIRECTORY ${SOURCE_PATH}/cpp - LOGNAME make-${TARGET_TRIPLET}-rel - ) - - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib64") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib64 ${CURRENT_PACKAGES_DIR}/debug/lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib64 ${CURRENT_PACKAGES_DIR}/lib) - endif() - - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + # Setting these as environment variables, as .d files aren't generated the first time passing them 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 "cpp11-shared") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(ICE_BUILD_CONFIG "cpp11-static") + endif() + + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_build_process( + COMMAND make install 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 + ) + + # Clean up for the next round + vcpkg_execute_build_process( + COMMAND make distclean + WORKING_DIRECTORY ${SOURCE_PATH}/cpp + LOGNAME make-clean-${TARGET_TRIPLET} + ) + + # Release build + set(ENV{LDFLAGS} "-L${CURRENT_INSTALLED_DIR}/lib") + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_build_process( + COMMAND make install V=1 prefix=${CURRENT_PACKAGES_DIR} linux_id=vcpkg CONFIGS=${ICE_BUILD_CONFIG} LANGUAGES=cpp USR_DIR_INSTALL=yes OPTIMIZE=yes -j${VCPKG_CONCURRENCY} srcs + WORKING_DIRECTORY ${SOURCE_PATH}/cpp + LOGNAME make-${TARGET_TRIPLET}-rel + ) + + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib64") + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib64 ${CURRENT_PACKAGES_DIR}/debug/lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib64 ${CURRENT_PACKAGES_DIR}/lib) + endif() + + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") else(NOT VCPKG_TARGET_IS_WINDOWS) - # Fix project files to prevent nuget restore of dependencies and - # remove hard coded runtime linkage - vcpkg_execute_required_process( - COMMAND powershell ${CURRENT_PORT_DIR}/fixProjFiles.ps1 "${SOURCE_PATH}" - LOGNAME fixProjFiles-${TARGET_TRIPLET} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} - ) - - - - -set(MSVC_TOOLSET_VER ${VCPKG_PLATFORM_TOOLSET}) -if(${VCPKG_PLATFORM_TOOLSET} STREQUAL "v144" OR ${VCPKG_PLATFORM_TOOLSET} STREQUAL "v145") - set(MSVC_TOOLSET_VER "v143") -endif() - - # 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 - /p:UseVcpkg=yes - /p:IceBuildingSrc=yes - ${ICE_OPTIONAL_COMPONENTS_MSBUILD} - ) - - 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 - function(install_includes ORIGINAL_PATH RELATIVE_PATHS) - foreach(RELATIVE_PATH ${RELATIVE_PATHS}) - file( - GLOB - HEADER_FILES - ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h) - file(COPY ${HEADER_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/include/${RELATIVE_PATH}) - endforeach() - endfunction() - - # Install header files - set(INCLUDE_SUB_DIRECTORIES - "Glacier2" - "Ice" - "IceBox" - "IceGrid" - "IcePatch2" - "IceSSL" - "IceStorm" - "IceUtil" - ) - - install_includes("${RELEASE_BUILD_DIR}/cpp/include" "${INCLUDE_SUB_DIRECTORIES}") - - set(INCLUDE_GEN_SUB_DIRECTORIES - "Glacier2" - "Ice" - "IceBox" - "IceSSL" - "IceStorm" - ) - install_includes("${RELEASE_BUILD_DIR}/cpp/include/generated/cpp11/${TRIPLET_SYSTEM_ARCH}/Release" "${INCLUDE_GEN_SUB_DIRECTORIES}") - - vcpkg_clean_msbuild() - + # Fix project files to prevent nuget restore of dependencies and + # remove hard coded runtime linkage + vcpkg_execute_required_process( + COMMAND powershell ${CURRENT_PORT_DIR}/fixProjFiles.ps1 "${SOURCE_PATH}" + LOGNAME fixProjFiles-${TARGET_TRIPLET} + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} + ) + + set(MSVC_TOOLSET_VER ${VCPKG_PLATFORM_TOOLSET}) + if(${VCPKG_PLATFORM_TOOLSET} STREQUAL "v144" OR ${VCPKG_PLATFORM_TOOLSET} STREQUAL "v145") + set(MSVC_TOOLSET_VER "v143") + endif() + + # 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 + /p:UseVcpkg=yes + /p:IceBuildingSrc=yes + ${ICE_OPTIONAL_COMPONENTS_MSBUILD} + ) + + 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 + function(install_includes ORIGINAL_PATH RELATIVE_PATHS) + foreach(RELATIVE_PATH ${RELATIVE_PATHS}) + file( + GLOB + HEADER_FILES + ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h) + file(COPY ${HEADER_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/include/${RELATIVE_PATH} + ) + endforeach() + endfunction() + + # Install header files + set(INCLUDE_SUB_DIRECTORIES + "Glacier2" + "Ice" + "IceBox" + "IceGrid" + "IcePatch2" + "IceSSL" + "IceStorm" + "IceUtil" + ) + + install_includes("${RELEASE_BUILD_DIR}/cpp/include" "${INCLUDE_SUB_DIRECTORIES}") + + set(INCLUDE_GEN_SUB_DIRECTORIES + "Glacier2" + "Ice" + "IceBox" + "IceSSL" + "IceStorm" + ) + install_includes("${RELEASE_BUILD_DIR}/cpp/include/generated/cpp11/${TRIPLET_SYSTEM_ARCH}/Release" "${INCLUDE_GEN_SUB_DIRECTORIES}") + + vcpkg_clean_msbuild() + endif(NOT VCPKG_TARGET_IS_WINDOWS) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) if(NOT VCPKG_TARGET_IS_WINDOWS) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}) endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() if(VCPKG_TARGET_IS_OSX) - file(REMOVE "${CURRENT_PACKAGES_DIR}/.DS_Store") + file(REMOVE "${CURRENT_PACKAGES_DIR}/.DS_Store") endif() # Handle copyright From 2f17cee147cdda525e0a07cb4cbb2db96aa06d5a Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Tue, 29 Mar 2022 14:15:05 +0700 Subject: [PATCH 18/34] Removed v144/5 stuff --- ports/zeroc-ice/portfile.cmake | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index c3c9fc86364738..dce619de4a584e 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -154,11 +154,6 @@ else(NOT VCPKG_TARGET_IS_WINDOWS) WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} ) - set(MSVC_TOOLSET_VER ${VCPKG_PLATFORM_TOOLSET}) - if(${VCPKG_PLATFORM_TOOLSET} STREQUAL "v144" OR ${VCPKG_PLATFORM_TOOLSET} STREQUAL "v145") - set(MSVC_TOOLSET_VER "v143") - endif() - # Build Ice vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} From d3f92f18fb407a9e579be309f5ceb438dd5186af Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Tue, 29 Mar 2022 14:24:11 +0700 Subject: [PATCH 19/34] check for .DS_Store file before deletion --- ports/zeroc-ice/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index dce619de4a584e..93e2c14ea67289 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -224,7 +224,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -if(VCPKG_TARGET_IS_OSX) +if(VCPKG_TARGET_IS_OSX AND EXISTS "${CURRENT_PACKAGES_DIR}/.DS_Store") file(REMOVE "${CURRENT_PACKAGES_DIR}/.DS_Store") endif() From 9e8efb0088ba930c397264e7589f204a41092945 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Tue, 29 Mar 2022 17:45:21 +0700 Subject: [PATCH 20/34] several changes --- ports/zeroc-ice/portfile.cmake | 187 ++++++++++++++++++--------------- ports/zeroc-ice/vcpkg.json | 104 +++--------------- 2 files changed, 119 insertions(+), 172 deletions(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index 93e2c14ea67289..d4c6e3423b064c 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -10,94 +10,127 @@ vcpkg_from_github( set(RELEASE_TRIPLET ${TARGET_TRIPLET}-rel) set(DEBUG_TRIPLET ${TARGET_TRIPLET}-dbg) -get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) -set(RELEASE_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/${SOURCE_PATH_SUFFIX}) -set(DEBUG_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${DEBUG_TRIPLET}/${SOURCE_PATH_SUFFIX}) +get_filename_component(SOURCE_PATH_SUFFIX ${SOURCE_PATH} NAME) +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}) +set(UNIX_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/src/${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" + "IceGrid" + "IceIAP" + "IcePatch2" + "IceSSL" + "IceStorm" + "IceUtil" +) set(ICE_OPTIONAL_COMPONENTS_MSBUILD "") -set(ICE_OPTIONAL_COMPONENTS_MAKE "") +set(ICE_OPTIONAL_COMPONENTS_MAKE "Ice") # 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 "src/IceSSL") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceSSL") endif() # Glacier2 -if("glacier2" IN_LIST FEATURES) +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("icebox" IN_LIST FEATURES) +if("iceboxlib" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\iceboxlib++11") - vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icebox++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceBox") endif() -# IceBoxAdmin executable -if("iceboxadmin" IN_LIST FEATURES) +# 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("icegrid" IN_LIST FEATURES) +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() -# IceGridAdmin -if("icegridadmin" IN_LIST FEATURES) +# IceGrid tools +if("icegridtools" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridadmin") -endif() - -# IceGridRegistry -if("icegridregistry" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridregistry") -endif() - -# IceGridNode -if("icegridnode" IN_LIST FEATURES) 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("icestorm" IN_LIST FEATURES) +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("icestormadmin" IN_LIST FEATURES) +if("icestormtools" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormadmin") -endif() - - # IceStormService -if("icestormservice" IN_LIST FEATURES) vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormservice") -endif() - -# IceStormDB -if("icestormdb" IN_LIST FEATURES) 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) # Setting these as environment variables, as .d files aren't generated the first time passing them to make. @@ -115,11 +148,16 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) message(STATUS "Building ${TARGET_TRIPLET}-dbg") vcpkg_execute_build_process( - COMMAND make install 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} + 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} eee WORKING_DIRECTORY ${SOURCE_PATH}/cpp LOGNAME make-${TARGET_TRIPLET}-dbg ) + # Install debug libraries to packages directory + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") + file(GLOB ICE_DEBUG_LIBRARIES "${UNIX_BUILD_DIR}/cpp/lib/*") + file(COPY ${ICE_DEBUG_LIBRARIES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + # Clean up for the next round vcpkg_execute_build_process( COMMAND make distclean @@ -131,18 +169,31 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) set(ENV{LDFLAGS} "-L${CURRENT_INSTALLED_DIR}/lib") message(STATUS "Building ${TARGET_TRIPLET}-rel") vcpkg_execute_build_process( - COMMAND make install V=1 prefix=${CURRENT_PACKAGES_DIR} linux_id=vcpkg CONFIGS=${ICE_BUILD_CONFIG} LANGUAGES=cpp USR_DIR_INSTALL=yes OPTIMIZE=yes -j${VCPKG_CONCURRENCY} srcs + 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 ) - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib64") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib64 ${CURRENT_PACKAGES_DIR}/debug/lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib64 ${CURRENT_PACKAGES_DIR}/lib) - endif() - - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + # 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("${UNIX_BUILD_DIR}/slice" "${ICE_INCLUDE_SUB_DIRECTORIES}") + file(GLOB ICE_RELEASE_LIBRARIES "${UNIX_BUILD_DIR}/cpp/lib/*") + 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} + ) else(NOT VCPKG_TARGET_IS_WINDOWS) @@ -174,55 +225,21 @@ else(NOT VCPKG_TARGET_IS_WINDOWS) file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/zeroc.icebuilder.msbuild.dll") endif() - # install_includes - function(install_includes ORIGINAL_PATH RELATIVE_PATHS) - foreach(RELATIVE_PATH ${RELATIVE_PATHS}) - file( - GLOB - HEADER_FILES - ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h) - file(COPY ${HEADER_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/include/${RELATIVE_PATH} - ) - endforeach() - endfunction() - - # Install header files - set(INCLUDE_SUB_DIRECTORIES - "Glacier2" - "Ice" - "IceBox" - "IceGrid" - "IcePatch2" - "IceSSL" - "IceStorm" - "IceUtil" - ) - - install_includes("${RELEASE_BUILD_DIR}/cpp/include" "${INCLUDE_SUB_DIRECTORIES}") - - set(INCLUDE_GEN_SUB_DIRECTORIES - "Glacier2" - "Ice" - "IceBox" - "IceSSL" - "IceStorm" - ) - install_includes("${RELEASE_BUILD_DIR}/cpp/include/generated/cpp11/${TRIPLET_SYSTEM_ARCH}/Release" "${INCLUDE_GEN_SUB_DIRECTORIES}") + 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}") vcpkg_clean_msbuild() -endif(NOT VCPKG_TARGET_IS_WINDOWS) - -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin") + file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + endif() -if(NOT VCPKG_TARGET_IS_WINDOWS) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}) -endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() +endif(NOT VCPKG_TARGET_IS_WINDOWS) if(VCPKG_TARGET_IS_OSX AND EXISTS "${CURRENT_PACKAGES_DIR}/.DS_Store") file(REMOVE "${CURRENT_PACKAGES_DIR}/.DS_Store") diff --git a/ports/zeroc-ice/vcpkg.json b/ports/zeroc-ice/vcpkg.json index 2ce63b82bd7e98..697db57a1dfba4 100644 --- a/ports/zeroc-ice/vcpkg.json +++ b/ports/zeroc-ice/vcpkg.json @@ -12,14 +12,11 @@ "zlib" ], "default-features": [ - "glacier2", - "icebox", - "icessl", - "icestorm" + ], "features": { - "glacier2": { - "description": "Glacier2" + "glacier2lib": { + "description": "Glacier2 libraries" }, "glacier2router": { "description": "Glacier2Router", @@ -27,25 +24,14 @@ { "name": "zeroc-ice", "features": [ - "glacier2", + "glacier2lib", "icessl" ] } ] }, "icebox": { - "description": "IceBox" - }, - "iceboxadmin": { - "description": "IceBoxAdmin", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "icebox" - ] - } - ] + "description": "IceBox libraries and runtime" }, "icebridge": { "description": "IceBridge", @@ -64,7 +50,7 @@ { "name": "zeroc-ice", "features": [ - "glacier2", + "glacier2lib", "icebox", "icessl", "icestorm" @@ -72,58 +58,27 @@ } ] }, - "icegrid": { - "description": "IceGrid", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "glacier2" - ] - } - ] - }, - "icegridadmin": { - "description": "IceGridAdmin", - "dependencies": [ - "expat", - { - "name": "zeroc-ice", - "features": [ - "glacier2", - "icebox", - "icegrid" - ] - } - ] - }, - "icegridnode": { - "description": "IceGridNode", + "icegridlib": { + "description": "IceGrid library", "dependencies": [ - "expat", - "lmdb", { "name": "zeroc-ice", "features": [ - "glacier2", - "icebox", - "icegrid", - "icessl" + "glacier2lib" ] } ] }, - "icegridregistry": { - "description": "IceGridRegistry", + "icegridtools": { + "description": "IceGrid tools", "dependencies": [ "expat", - "lmdb", { "name": "zeroc-ice", "features": [ - "glacier2", + "glacier2lib", "icebox", - "icegrid", + "icegridlib", "icessl" ] } @@ -138,42 +93,17 @@ } ] }, - "icestorm": { + "icestormlib": { "description": "IceStorm library" }, - "icestormadmin": { - "description": "IceStormAdmin", - "dependencies": [ - { - "name": "zeroc-ice", - "features": [ - "icebox", - "icestorm" - ] - } - ] - }, - "icestormdb": { - "description": "IceStorm database utility", - "dependencies": [ - "bzip2", - "lmdb", - { - "name": "zeroc-ice", - "features": [ - "icestorm" - ] - } - ] - }, - "icestormservice": { - "description": "IceStormService", + "icestormtools": { + "description": "IceStorm tools", "dependencies": [ "lmdb", { "name": "zeroc-ice", "features": [ - "glacier2", + "glacier2lib", "icebox", "icegrid", "icestorm" From 861f696987cc855daa78968c5673100e204ed0e6 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Tue, 29 Mar 2022 17:46:03 +0700 Subject: [PATCH 21/34] format vcpkg.json --- ports/zeroc-ice/vcpkg.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/ports/zeroc-ice/vcpkg.json b/ports/zeroc-ice/vcpkg.json index 697db57a1dfba4..99b79dfda76046 100644 --- a/ports/zeroc-ice/vcpkg.json +++ b/ports/zeroc-ice/vcpkg.json @@ -10,9 +10,6 @@ "lmdb", "mcpp", "zlib" - ], - "default-features": [ - ], "features": { "glacier2lib": { From 0cd4319ae0f2a220ae4e3df9ace98c79ccdf92d0 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Tue, 29 Mar 2022 17:46:27 +0700 Subject: [PATCH 22/34] update version --- versions/z-/zeroc-ice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json index 47e2b16b47ffe6..2acabd798bf133 100644 --- a/versions/z-/zeroc-ice.json +++ b/versions/z-/zeroc-ice.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "2f07afb2c092079d8f1d41a1e8a61a513c5d9405", + "git-tree": "0c9d00bf949c82b42aec872945cd1ed6f40b7a5b", "version": "3.7.7", "port-version": 0 } From d3e1aa37515ddcedb014d7568b06c6263abcc410 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Tue, 29 Mar 2022 17:49:19 +0700 Subject: [PATCH 23/34] remove typo --- ports/zeroc-ice/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index d4c6e3423b064c..74ae46697c2f79 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -148,7 +148,7 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) 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} eee + 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 ) From 25734707ae22dcbe659072f3cc0aa6f696c3d90b Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Tue, 29 Mar 2022 17:49:40 +0700 Subject: [PATCH 24/34] updated version --- versions/z-/zeroc-ice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json index 2acabd798bf133..e3ba11dab3a96d 100644 --- a/versions/z-/zeroc-ice.json +++ b/versions/z-/zeroc-ice.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "0c9d00bf949c82b42aec872945cd1ed6f40b7a5b", + "git-tree": "2900c1024b7f9307323448eaa86d2f76884d34d8", "version": "3.7.7", "port-version": 0 } From 208338dc92956a95132b403ce5b0252f90503843 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Tue, 29 Mar 2022 21:10:27 +0700 Subject: [PATCH 25/34] reformatting --- ports/zeroc-ice/portfile.cmake | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index 74ae46697c2f79..00ec64e52be5bb 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -148,7 +148,15 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) 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} + 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 ) @@ -169,7 +177,15 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) 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} + 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 ) From 65cc943cfc1900781528b7e6d415fce9dca7c465 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 31 Mar 2022 09:55:07 +0700 Subject: [PATCH 26/34] resolve review issues --- ports/zeroc-ice/fixProjFiles.ps1 | 41 -------------- ports/zeroc-ice/md5i_fix.patch | 12 +++- ports/zeroc-ice/portfile.cmake | 73 +++++++++++++++++-------- ports/zeroc-ice/prepare_for_build.cmake | 60 ++++++++++++++++++++ ports/zeroc-ice/vcpkg.json | 24 +++++--- scripts/ci.baseline.txt | 4 +- versions/z-/zeroc-ice.json | 2 +- 7 files changed, 138 insertions(+), 78 deletions(-) delete mode 100644 ports/zeroc-ice/fixProjFiles.ps1 create mode 100644 ports/zeroc-ice/prepare_for_build.cmake diff --git a/ports/zeroc-ice/fixProjFiles.ps1 b/ports/zeroc-ice/fixProjFiles.ps1 deleted file mode 100644 index 5e744fde12f05d..00000000000000 --- a/ports/zeroc-ice/fixProjFiles.ps1 +++ /dev/null @@ -1,41 +0,0 @@ - -$rootPath=$args[0] - -$cppSrcPath = "$rootPath/cpp/src" -if($cppSrcPath) -{ -Write-Output "Processing $cppSrcPath" -$projectFiles = Get-ChildItem -Path $cppSrcPath -Filter *.vcxproj -Recurse -ErrorAction SilentlyContinue -Force - - foreach($proj in $projectFiles) - { - Write-Output $proj.FullName - $content = Get-Content -Path $proj.FullName - $content = $content -replace '', '' - $content = $content -replace 'MultiThreadedDebug','' - $content = $content -replace 'MultiThreaded','' - $content | Set-Content -Path $proj.FullName - } -} -else -{ - Write-Error "Error: No path defined!" -} - -# Download nuget file with .zip extention to temporary folder -$tmpPath = [System.IO.Path]::GetTempPath() -$msbuilderDlPath = "$tmpPath/zeroc.icebuilder.msbuild.5.0.7.zip" -Invoke-WebRequest -Uri "https://globalcdn.nuget.org/packages/zeroc.icebuilder.msbuild.5.0.7.nupkg" -OutFile $msbuilderDlPath - -# Ensure destination folder exists. -$msBuilderPath = "$rootPath/cpp/msbuild/packages/zeroc.icebuilder.msbuild.5.0.7" -if(-Not (Test-Path -Path $msBuilderPath)) -{ - New-Item -Path $msBuilderPath -ItemType Directory -Force -} - -# Extract nuget archive to $msBuilderPath and remove the downloaded file -Expand-Archive -Path $msbuilderDlPath -DestinationPath $msBuilderPath -Remove-Item -Path $msbuilderDlPath - - diff --git a/ports/zeroc-ice/md5i_fix.patch b/ports/zeroc-ice/md5i_fix.patch index 428071521db6b8..0e45588d07f5fb 100644 --- a/ports/zeroc-ice/md5i_fix.patch +++ b/ports/zeroc-ice/md5i_fix.patch @@ -1,8 +1,16 @@ diff --git a/cpp/src/Slice/MD5I.cpp b/cpp/src/Slice/MD5I.cpp -index 66f4de545b..2430b1fd1b 100644 +index 66f4de545b..271352d1ea 100644 --- a/cpp/src/Slice/MD5I.cpp +++ b/cpp/src/Slice/MD5I.cpp -@@ -172,7 +172,7 @@ md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/) +@@ -52,6 +52,7 @@ + */ + + #include ++#include + #include + + #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. */ diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index 00ec64e52be5bb..b813afd06fa02b 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -40,17 +40,18 @@ vcpkg_list(SET ICE_INCLUDE_SUB_DIRECTORIES "Ice" "IceBT" "IceBox" + "IceBT" + "IceDiscovery" "IceGrid" "IceIAP" + "IceLocatorDiscovery" "IcePatch2" "IceSSL" "IceStorm" - "IceUtil" ) - set(ICE_OPTIONAL_COMPONENTS_MSBUILD "") -set(ICE_OPTIONAL_COMPONENTS_MAKE "Ice") +set(ICE_OPTIONAL_COMPONENTS_MAKE "Ice") # Intentional! # IceSSL if("icessl" IN_LIST FEATURES) @@ -114,7 +115,7 @@ if("icestormtools" IN_LIST FEATURES) 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 "IceStormService") vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icestormdb") endif() @@ -127,13 +128,13 @@ 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") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceDiscovery") endif() - if(NOT VCPKG_TARGET_IS_WINDOWS) - # Setting these as environment variables, as .d files aren't generated the first time passing them to make. + # 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}) @@ -141,9 +142,9 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) set(ENV{CPPFLAGS} "-I${CURRENT_INSTALLED_DIR}/include") set(ENV{LDFLAGS} "-L${CURRENT_INSTALLED_DIR}/debug/lib") - set(ICE_BUILD_CONFIG "cpp11-shared") + set(ICE_BUILD_CONFIG "shared cpp11-shared") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(ICE_BUILD_CONFIG "cpp11-static") + set(ICE_BUILD_CONFIG "static cpp11-static") endif() message(STATUS "Building ${TARGET_TRIPLET}-dbg") @@ -163,7 +164,11 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) # Install debug libraries to packages directory file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") - file(GLOB ICE_DEBUG_LIBRARIES "${UNIX_BUILD_DIR}/cpp/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 @@ -173,6 +178,14 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) 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") @@ -198,8 +211,12 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) 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("${UNIX_BUILD_DIR}/slice" "${ICE_INCLUDE_SUB_DIRECTORIES}") - file(GLOB ICE_RELEASE_LIBRARIES "${UNIX_BUILD_DIR}/cpp/lib/*") + 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}") @@ -211,15 +228,20 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) 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(NOT VCPKG_TARGET_IS_WINDOWS) # Fix project files to prevent nuget restore of dependencies and # remove hard coded runtime linkage - vcpkg_execute_required_process( - COMMAND powershell ${CURRENT_PORT_DIR}/fixProjFiles.ps1 "${SOURCE_PATH}" - LOGNAME fixProjFiles-${TARGET_TRIPLET} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} - ) + include("${CURRENT_PORT_DIR}/prepare_for_build.cmake") + prepare_for_build("${SOURCE_PATH}") # Build Ice vcpkg_install_msbuild( @@ -244,19 +266,24 @@ else(NOT VCPKG_TARGET_IS_WINDOWS) 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}") - vcpkg_clean_msbuild() - - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) - if(EXISTS "${CURRENT_PACKAGES_DIR}/bin") - file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - endif() + 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(NOT VCPKG_TARGET_IS_WINDOWS) +# Remove unnecessary static libraries. +file(GLOB PDLIBS "${CURRENT_PACKAGES_DIR}/debug/lib/*") +file(GLOB PRLIBS "${CURRENT_PACKAGES_DIR}/lib/*") +list(FILTER PDLIBS INCLUDE REGEX ".*((IceUtil|Slice)\.([a-z]+))$") +list(FILTER PRLIBS INCLUDE REGEX ".*((IceUtil|Slice)\.([a-z]+))$") +file(REMOVE ${PDLIBS} ${PRLIBS}) + if(VCPKG_TARGET_IS_OSX AND EXISTS "${CURRENT_PACKAGES_DIR}/.DS_Store") file(REMOVE "${CURRENT_PACKAGES_DIR}/.DS_Store") endif() diff --git a/ports/zeroc-ice/prepare_for_build.cmake b/ports/zeroc-ice/prepare_for_build.cmake new file mode 100644 index 00000000000000..2b0db512809e31 --- /dev/null +++ b/ports/zeroc-ice/prepare_for_build.cmake @@ -0,0 +1,60 @@ + +# This function removes hardcoded RuntimeLibrary directives from Ice's vcxproh 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("-- Removing hardcoded 'RuntimeLibrary' directives from .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 + "" + "" + PROJ_FILE_CONTENT + "${PROJ_FILE_CONTENT}" + ) + STRING(REGEX + REPLACE + "MultiThreadedDebug" + "" + PROJ_FILE_CONTENT + "${PROJ_FILE_CONTENT}" + ) + STRING(REGEX + REPLACE + "MultiThreaded" + "" + PROJ_FILE_CONTENT + "${PROJ_FILE_CONTENT}" + ) + file(WRITE ${PROJ_FILE} "${PROJ_FILE_CONTENT}") + 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() \ No newline at end of file diff --git a/ports/zeroc-ice/vcpkg.json b/ports/zeroc-ice/vcpkg.json index 99b79dfda76046..70d9b1b7d19180 100644 --- a/ports/zeroc-ice/vcpkg.json +++ b/ports/zeroc-ice/vcpkg.json @@ -4,6 +4,7 @@ "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 | arm64) | staticcrt)) & !wasm32", "dependencies": [ "bzip2", "expat", @@ -17,6 +18,7 @@ }, "glacier2router": { "description": "Glacier2Router", + "supports": "!static", "dependencies": [ { "name": "zeroc-ice", @@ -27,16 +29,20 @@ } ] }, - "icebox": { + "iceboxlib": { "description": "IceBox libraries and runtime" }, + "iceboxtools": { + "description": "IceBox tools", + "supports": "!static" + }, "icebridge": { "description": "IceBridge", "dependencies": [ { "name": "zeroc-ice", "features": [ - "icebox" + "iceboxlib" ] } ] @@ -48,9 +54,9 @@ "name": "zeroc-ice", "features": [ "glacier2lib", - "icebox", + "iceboxlib", "icessl", - "icestorm" + "icestormlib" ] } ] @@ -68,13 +74,14 @@ }, "icegridtools": { "description": "IceGrid tools", + "supports": "!static", "dependencies": [ "expat", { "name": "zeroc-ice", "features": [ "glacier2lib", - "icebox", + "iceboxlib", "icegridlib", "icessl" ] @@ -95,15 +102,16 @@ }, "icestormtools": { "description": "IceStorm tools", + "supports": "!static", "dependencies": [ "lmdb", { "name": "zeroc-ice", "features": [ "glacier2lib", - "icebox", - "icegrid", - "icestorm" + "iceboxlib", + "icegridlib", + "icestormlib" ] } ] diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 3c95baf51eacbe..d101bdaa13cb04 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1443,6 +1443,4 @@ dimcli:x64-windows-static=fail zeroc-ice:arm64-windows=fail zeroc-ice:arm-uwp=fail zeroc-ice:x64-uwp=fail -zeroc-ice:x64-windows-static=fail -zeroc-ice:x64-linux=fail -zeroc-ice:x64-osx=fail \ No newline at end of file +zeroc-ice:x64-windows-static=fail \ No newline at end of file diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json index e3ba11dab3a96d..bb90d711d7a8ca 100644 --- a/versions/z-/zeroc-ice.json +++ b/versions/z-/zeroc-ice.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "2900c1024b7f9307323448eaa86d2f76884d34d8", + "git-tree": "4f02050efcce648670e93d0b61888170d682c79b", "version": "3.7.7", "port-version": 0 } From a00fbb9f86c460733959110ad82ad2761433c0cf Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 31 Mar 2022 10:09:00 +0700 Subject: [PATCH 27/34] regex --- ports/zeroc-ice/portfile.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index b813afd06fa02b..90f94aac9cf4a3 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -280,8 +280,8 @@ endif(NOT VCPKG_TARGET_IS_WINDOWS) # Remove unnecessary static libraries. file(GLOB PDLIBS "${CURRENT_PACKAGES_DIR}/debug/lib/*") file(GLOB PRLIBS "${CURRENT_PACKAGES_DIR}/lib/*") -list(FILTER PDLIBS INCLUDE REGEX ".*((IceUtil|Slice)\.([a-z]+))$") -list(FILTER PRLIBS INCLUDE REGEX ".*((IceUtil|Slice)\.([a-z]+))$") +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}) if(VCPKG_TARGET_IS_OSX AND EXISTS "${CURRENT_PACKAGES_DIR}/.DS_Store") From f2ac64a2afd53abcb123515a080bc06f2ce05d53 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 31 Mar 2022 10:10:56 +0700 Subject: [PATCH 28/34] updated version --- versions/z-/zeroc-ice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json index bb90d711d7a8ca..0e4511cccea8d0 100644 --- a/versions/z-/zeroc-ice.json +++ b/versions/z-/zeroc-ice.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "4f02050efcce648670e93d0b61888170d682c79b", + "git-tree": "0e4844d7863cb54220f9559c4388c7d023a603b7", "version": "3.7.7", "port-version": 0 } From facd40f640159d7c12d1148d7d701f7fd20d6e66 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 31 Mar 2022 10:40:26 +0700 Subject: [PATCH 29/34] windows-static --- scripts/ci.baseline.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index d101bdaa13cb04..0c9caf4608c2e9 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1442,5 +1442,4 @@ dimcli:x64-windows-static=fail # ZeroC doesn't provide ARM tagets in project files. zeroc-ice:arm64-windows=fail zeroc-ice:arm-uwp=fail -zeroc-ice:x64-uwp=fail -zeroc-ice:x64-windows-static=fail \ No newline at end of file +zeroc-ice:x64-uwp=fail \ No newline at end of file From 9829f9d7a467680f5740f8d2905cfecad3096e91 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 31 Mar 2022 10:41:07 +0700 Subject: [PATCH 30/34] allow static builds on windows and added maintainer --- ports/zeroc-ice/vcpkg.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ports/zeroc-ice/vcpkg.json b/ports/zeroc-ice/vcpkg.json index 70d9b1b7d19180..c1db56273c43c0 100644 --- a/ports/zeroc-ice/vcpkg.json +++ b/ports/zeroc-ice/vcpkg.json @@ -1,10 +1,11 @@ { "name": "zeroc-ice", "version": "3.7.7", + "maintainers": "Benjamin Oldenburg ", "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 | arm64) | staticcrt)) & !wasm32", + "supports": "!uwp & !(windows & (arm | arm64)) & !wasm32", "dependencies": [ "bzip2", "expat", From 2881e55e48f565d4d14b4016697b237dbb2f9430 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 31 Mar 2022 10:41:42 +0700 Subject: [PATCH 31/34] updated version --- versions/z-/zeroc-ice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json index 0e4511cccea8d0..78a05592433e8e 100644 --- a/versions/z-/zeroc-ice.json +++ b/versions/z-/zeroc-ice.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "0e4844d7863cb54220f9559c4388c7d023a603b7", + "git-tree": "32343dd383cd904d0759f424664d694ef2b7863e", "version": "3.7.7", "port-version": 0 } From 8da6d0295997b71e718c1335e0dce1ec43f7a577 Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 31 Mar 2022 17:30:33 +0700 Subject: [PATCH 32/34] added openssl as a dependency for Ice core library --- ports/zeroc-ice/vcpkg.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ports/zeroc-ice/vcpkg.json b/ports/zeroc-ice/vcpkg.json index c1db56273c43c0..0af66ef3902548 100644 --- a/ports/zeroc-ice/vcpkg.json +++ b/ports/zeroc-ice/vcpkg.json @@ -11,6 +11,10 @@ "expat", "lmdb", "mcpp", + { + "name": "openssl", + "platform": "!windows" + }, "zlib" ], "features": { From daab9839b8709b1db9a09869a25e595dd33b3d5a Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Thu, 31 Mar 2022 17:30:58 +0700 Subject: [PATCH 33/34] updated version --- versions/z-/zeroc-ice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json index 78a05592433e8e..8c97d2943e9d23 100644 --- a/versions/z-/zeroc-ice.json +++ b/versions/z-/zeroc-ice.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "32343dd383cd904d0759f424664d694ef2b7863e", + "git-tree": "7b7a2836ffa07e08a43a7aa58b8de996d3902751", "version": "3.7.7", "port-version": 0 } From a4a58ae18e7ce8dc723bf98c63426e4983bfc7f3 Mon Sep 17 00:00:00 2001 From: nicole mazzuca Date: Tue, 12 Apr 2022 11:37:08 -0700 Subject: [PATCH 34/34] minor updates --- ports/zeroc-ice/portfile.cmake | 8 ++------ ports/zeroc-ice/prepare_for_build.cmake | 6 +++--- ports/zeroc-ice/vcpkg.json | 2 +- versions/z-/zeroc-ice.json | 2 +- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake index 90f94aac9cf4a3..79cfb5a00fd545 100644 --- a/ports/zeroc-ice/portfile.cmake +++ b/ports/zeroc-ice/portfile.cmake @@ -236,7 +236,7 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) endif() file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/bin") -else(NOT VCPKG_TARGET_IS_WINDOWS) +else() # VCPKG_TARGET_IS_WINDOWS # Fix project files to prevent nuget restore of dependencies and # remove hard coded runtime linkage @@ -275,7 +275,7 @@ else(NOT VCPKG_TARGET_IS_WINDOWS) vcpkg_clean_msbuild() -endif(NOT VCPKG_TARGET_IS_WINDOWS) +endif() # Remove unnecessary static libraries. file(GLOB PDLIBS "${CURRENT_PACKAGES_DIR}/debug/lib/*") @@ -284,9 +284,5 @@ 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}) -if(VCPKG_TARGET_IS_OSX AND EXISTS "${CURRENT_PACKAGES_DIR}/.DS_Store") - file(REMOVE "${CURRENT_PACKAGES_DIR}/.DS_Store") -endif() - # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/zeroc-ice RENAME copyright) diff --git a/ports/zeroc-ice/prepare_for_build.cmake b/ports/zeroc-ice/prepare_for_build.cmake index 2b0db512809e31..4287fbdc820e9e 100644 --- a/ports/zeroc-ice/prepare_for_build.cmake +++ b/ports/zeroc-ice/prepare_for_build.cmake @@ -36,7 +36,7 @@ function(prepare_for_build ICE_SOURCE_DIR) 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}) + if(NOT EXISTS "${ICE_BUILDER_DEST_DIRECTORY}") message("-- Making Ice Builder for MSBuild available") vcpkg_download_distfile( ICE_BUILDER_MSBUILD_ARCHIVE @@ -54,7 +54,7 @@ function(prepare_for_build ICE_SOURCE_DIR) ) file(MAKE_DIRECTORY "${ICE_SOURCE_DIR}/cpp/msbuild/packages") - file(RENAME ${ICE_BUILDER_MSBUILD_DIRECTORY} ${ICE_BUILDER_DEST_DIRECTORY}) + file(RENAME "${ICE_BUILDER_MSBUILD_DIRECTORY}" "${ICE_BUILDER_DEST_DIRECTORY}") endif() -endfunction() \ No newline at end of file +endfunction() diff --git a/ports/zeroc-ice/vcpkg.json b/ports/zeroc-ice/vcpkg.json index 0af66ef3902548..bd2f3013c623c3 100644 --- a/ports/zeroc-ice/vcpkg.json +++ b/ports/zeroc-ice/vcpkg.json @@ -5,7 +5,7 @@ "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 | arm64)) & !wasm32", + "supports": "!uwp & !(windows & arm) & !wasm32", "dependencies": [ "bzip2", "expat", diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json index 8c97d2943e9d23..f0e580ba7cc94a 100644 --- a/versions/z-/zeroc-ice.json +++ b/versions/z-/zeroc-ice.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "7b7a2836ffa07e08a43a7aa58b8de996d3902751", + "git-tree": "bdb180069d461c04c1eee1a7937afa63d0ea752b", "version": "3.7.7", "port-version": 0 }