forked from microsoft/vcpkg
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[seal] Fixed and updated ports/seal to 3.5.9. (microsoft#13598)
* Fixed and updated ports/seal to 3.5.9. * Update ports/seal/portfile.cmake Co-authored-by: NancyLi1013 <[email protected]> * Update ports/seal/portfile.cmake Co-authored-by: NancyLi1013 <[email protected]> * [seal] Disable vendored dependencies. Fix writes to source dir. Co-authored-by: NancyLi1013 <[email protected]> Co-authored-by: Robert Schumacher <[email protected]>
- Loading branch information
1 parent
57b3738
commit 9563845
Showing
3 changed files
with
104 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,7 @@ | ||
Source: seal | ||
Version: 3.4.5-1 | ||
Version: 3.5.9 | ||
Homepage: https://github.com/microsoft/SEAL | ||
Description: Microsoft SEAL is an easy-to-use and powerful homomorphic encryption library. | ||
Default-Features: zlib | ||
|
||
Feature: zlib | ||
Build-Depends: zlib | ||
Description: Use zlib for compressed serialization | ||
Description: (Not currently implemented) Use zlib for compressed serialization |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
index 92404c5..9867974 100644 | ||
--- a/CMakeLists.txt | ||
+++ b/CMakeLists.txt | ||
@@ -108,20 +108,20 @@ endif() | ||
|
||
# Required files and directories | ||
include(GNUInstallDirs) | ||
-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${SEAL_SOURCE_DIR}/${OUTLIB_PATH}) | ||
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${SEAL_SOURCE_DIR}/${OUTLIB_PATH}) | ||
-set(CMAKE_LIBRARY_RUNTIME_DIRECTORY ${SEAL_SOURCE_DIR}/bin) | ||
-set(SEAL_TARGETS_FILENAME ${SEAL_SOURCE_DIR}/cmake/SEALTargets.cmake) | ||
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${OUTLIB_PATH}) | ||
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${OUTLIB_PATH}) | ||
+set(CMAKE_LIBRARY_RUNTIME_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) | ||
+set(SEAL_TARGETS_FILENAME ${CMAKE_CURRENT_BINARY_DIR}/cmake/SEALTargets.cmake) | ||
set(SEAL_CONFIG_IN_FILENAME ${SEAL_SOURCE_DIR}/cmake/SEALConfig.cmake.in) | ||
-set(SEAL_CONFIG_FILENAME ${SEAL_SOURCE_DIR}/cmake/SEALConfig.cmake) | ||
+set(SEAL_CONFIG_FILENAME ${CMAKE_CURRENT_BINARY_DIR}/cmake/SEALConfig.cmake) | ||
set(SEAL_PKGCONFIG_IN_FILENAME ${SEAL_SOURCE_DIR}/seal.pc.in) | ||
-set(SEAL_PKGCONFIG_FILENAME ${SEAL_SOURCE_DIR}/seal-${SEAL_VERSION_MAJOR}.${SEAL_VERSION_MINOR}.pc) | ||
-set(SEAL_CONFIG_VERSION_FILENAME ${SEAL_SOURCE_DIR}/cmake/SEALConfigVersion.cmake) | ||
+set(SEAL_PKGCONFIG_FILENAME ${CMAKE_CURRENT_BINARY_DIR}/seal-${SEAL_VERSION_MAJOR}.${SEAL_VERSION_MINOR}.pc) | ||
+set(SEAL_CONFIG_VERSION_FILENAME ${CMAKE_CURRENT_BINARY_DIR}/cmake/SEALConfigVersion.cmake) | ||
set(SEAL_CONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/SEAL-${SEAL_VERSION_MAJOR}.${SEAL_VERSION_MINOR}) | ||
set(SEAL_PKGCONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/pkgconfig) | ||
set(SEAL_INCLUDES_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}/SEAL-${SEAL_VERSION_MAJOR}.${SEAL_VERSION_MINOR}) | ||
set(SEAL_INCLUDES_BUILD_DIR ${SEAL_SOURCE_DIR}/native/src) | ||
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${SEAL_SOURCE_DIR}/bin) | ||
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) | ||
set(SEAL_THIRDPARTY_DIR ${SEAL_SOURCE_DIR}/thirdparty) | ||
|
||
# For extra modules we might have | ||
@@ -830,7 +830,7 @@ unset(SEAL_MACOS_SEAL_C_PATH) | ||
# Create SEALNet-multi.nuspec for a multi-platform NuGet package | ||
configure_file( | ||
${SEAL_SOURCE_DIR}/dotnet/nuget/SEALNet-multi.nuspec.in | ||
- ${SEAL_SOURCE_DIR}/dotnet/nuget/SEALNet-multi.nuspec | ||
+ ${CMAKE_CURRENT_BINARY_DIR}/dotnet/nuget/SEALNet-multi.nuspec | ||
@ONLY) | ||
|
||
set(SEAL_WINDOWS_SEAL_C_PATH "") | ||
@@ -855,11 +855,11 @@ endif() | ||
# Create SEALNet.nuspec for a local NuGet pack from SEALNet.nuspec.in | ||
configure_file( | ||
${SEAL_SOURCE_DIR}/dotnet/nuget/SEALNet.nuspec.in | ||
- ${SEAL_SOURCE_DIR}/dotnet/nuget/SEALNet.nuspec | ||
+ ${CMAKE_CURRENT_BINARY_DIR}/dotnet/nuget/SEALNet.nuspec | ||
@ONLY) | ||
|
||
# Create SEALNet.targets from SEALNet.targets.in | ||
configure_file( | ||
${SEAL_SOURCE_DIR}/dotnet/nuget/SEALNet.targets.in | ||
- ${SEAL_SOURCE_DIR}/dotnet/nuget/SEALNet.targets | ||
+ ${CMAKE_CURRENT_BINARY_DIR}/dotnet/nuget/SEALNet.targets | ||
@ONLY) | ||
diff --git a/native/src/seal/util/CMakeLists.txt b/native/src/seal/util/CMakeLists.txt | ||
index 3f2c7ba..a15e634 100644 | ||
--- a/native/src/seal/util/CMakeLists.txt | ||
+++ b/native/src/seal/util/CMakeLists.txt | ||
@@ -28,7 +28,8 @@ target_sources(seal_obj PRIVATE | ||
) | ||
|
||
# Create the config file | ||
-configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h.in ${CMAKE_CURRENT_LIST_DIR}/config.h) | ||
+configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/seal/util/config.h) | ||
+target_include_directories(seal_obj PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) | ||
|
||
# Add header files for installation | ||
install( | ||
@@ -38,7 +39,7 @@ install( | ||
${CMAKE_CURRENT_LIST_DIR}/clang.h | ||
${CMAKE_CURRENT_LIST_DIR}/clipnormal.h | ||
${CMAKE_CURRENT_LIST_DIR}/common.h | ||
- ${CMAKE_CURRENT_LIST_DIR}/config.h | ||
+ ${CMAKE_CURRENT_BINARY_DIR}/seal/util/config.h | ||
${CMAKE_CURRENT_LIST_DIR}/croots.h | ||
${CMAKE_CURRENT_LIST_DIR}/defines.h | ||
${CMAKE_CURRENT_LIST_DIR}/galois.h |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,43 @@ | ||
set(SEAL_VERSION_MAJOR 3) | ||
set(SEAL_VERSION_MINOR 4) | ||
set(SEAL_VERSION_MICRO 5) | ||
|
||
vcpkg_fail_port_install(ON_TARGET "uwp") | ||
|
||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SEAL_BUILD_STATIC) | ||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SEAL_BUILD_STATIC) | ||
|
||
if (SEAL_BUILD_STATIC) | ||
set(SEAL_LIB_BUILD_TYPE "Static_PIC") | ||
endif () | ||
|
||
if (SEAL_BUILD_DYNAMIC) | ||
set(SEAL_LIB_BUILD_TYPE "Shared") | ||
endif () | ||
|
||
string(TOUPPER ${PORT} PORT_UPPER) | ||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY) | ||
|
||
vcpkg_from_github( | ||
OUT_SOURCE_PATH SOURCE_PATH | ||
REPO microsoft/SEAL | ||
REF 9fc376c19488be2bfd213780ee06789754f4b2c2 | ||
SHA512 198f75371c7b0b88066495a40c687c32725a033fd1b3e3dadde3165da8546d44e9eaa9355366dd5527058ae2171175f757f69189cf7f5255f51eba14c6f38b78 | ||
REF e3ad13edf7e5b4dc8a59fd2cd6235ad9d7428cab | ||
SHA512 9d52a51bd1d3141e45fd1f92134433a9eb7458e125140501952535c67ea49e0c66ccd4a80f7473c31db1963afcd7e690c716ea32d195cb07ba6fa60847168a91 | ||
HEAD_REF master | ||
PATCHES no-source-writes.patch | ||
) | ||
|
||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS | ||
zlib SEAL_USE_ZLIB | ||
) | ||
if("zlib" IN_LIST FEATURES) | ||
message("SEAL currently does not support non-vendored zlib -- ignoring feature 'zlib'") | ||
endif() | ||
|
||
vcpkg_configure_cmake( | ||
SOURCE_PATH ${SOURCE_PATH}/native/src | ||
SOURCE_PATH ${SOURCE_PATH} | ||
PREFER_NINJA | ||
OPTIONS ${FEATURE_OPTIONS} | ||
OPTIONS | ||
-DALLOW_COMMAND_LINE_BUILD=ON | ||
-DSEAL_LIB_BUILD_TYPE=${SEAL_LIB_BUILD_TYPE} | ||
-DSEAL_USE_MSGSL=OFF # issue https://github.com/microsoft/SEAL/issues/159 | ||
-DSEAL_BUILD_EXAMPLES=OFF | ||
-DSEAL_BUILD_TESTS=OFF | ||
-DSEAL_BUILD_SEAL_C=OFF | ||
-DSEAL_USE_MSGSL=OFF | ||
-DSEAL_USE_ZLIB=OFF | ||
) | ||
|
||
vcpkg_build_cmake(TARGET seal LOGFILE_ROOT build) | ||
vcpkg_install_cmake() | ||
vcpkg_copy_pdbs() | ||
|
||
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT_UPPER}-${SEAL_VERSION_MAJOR}.${SEAL_VERSION_MINOR}) | ||
file(GLOB CONFIG_PATH RELATIVE "${CURRENT_PACKAGES_DIR}" "${CURRENT_PACKAGES_DIR}/lib/cmake/SEAL-*") | ||
if(NOT CONFIG_PATH) | ||
message(FATAL_ERROR "Could not find installed cmake config files.") | ||
endif() | ||
|
||
vcpkg_fixup_cmake_targets(CONFIG_PATH "${CONFIG_PATH}") | ||
vcpkg_fixup_pkgconfig() | ||
|
||
file(REMOVE_RECURSE | ||
${CURRENT_PACKAGES_DIR}/debug/include | ||
${CURRENT_PACKAGES_DIR}/debug/share) | ||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) | ||
|
||
# Handle copyright | ||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) |