vcpkg/ports/seal/portfile.cmake
MonicaLiu b5ae18f755
[seal] Fix package hexl not found error (#38343)
Fixes #38323.

Fix package `hexl` not found error:
```
CMake Warning at vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package):
  Could not find a configuration file for package "HEXL" that is compatible
  with requested version "1.2.4".

  The following configuration files were considered but not accepted:

    vcpkg/installed/x64-linux/share/HEXL/HEXLConfig.cmake, version: 1.2.5
    /usr/local/lib/cmake/hexl-1.2.5/HEXLConfig.cmake, version: 1.2.5

Call Stack (most recent call first):
  CMakeLists.txt:226 (find_package)


CMake Error at CMakeLists.txt:228 (message):
  Intel HEXL: not found
```

Feature `hexl` is tested successfully in the following triplet:
```
x64-windows
x64-windows-static
```

- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] ~SHA512s are updated for each updated download.~
- [ ] ~The "supports" clause reflects platforms that may be fixed by
this new version.~
- [ ] ~Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.~
- [ ] ~Any patches that are no longer applied are deleted from the
port's directory.~
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.

---------

Co-authored-by: Monica <v-liumonica@microsoft.com>
2024-04-24 08:51:01 -04:00

54 lines
1.3 KiB
CMake

if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO microsoft/SEAL
REF "v${VERSION}"
SHA512 717393b2428cd0b88a0cf75dbee6abfc92a89935664b7606dd18c17fa573c8053f24e08d530f2d63a3730e7737c0f2ca91d0002bc02a1cfecd19cf1521312823
HEAD_REF main
PATCHES
shared-zstd.patch
fix-hexl.patch
)
vcpkg_replace_string(
"${SOURCE_PATH}/cmake/CheckCXXIntrinsicsSpecific.cmake"
"check_cxx_source_runs"
"check_cxx_source_compiles"
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
ms-gsl SEAL_USE_MSGSL
zlib SEAL_USE_ZLIB
zstd SEAL_USE_ZSTD
hexl SEAL_USE_INTEL_HEXL
INVERTED_FEATURES
no-throw-tran SEAL_THROW_ON_TRANSPARENT_CIPHERTEXT
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DSEAL_BUILD_DEPS=OFF
-DSEAL_BUILD_EXAMPLES=OFF
-DSEAL_BUILD_TESTS=OFF
-DSEAL_BUILD_SEAL_C=OFF
${FEATURE_OPTIONS}
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SEAL-4.1)
# provides pkgconfig files only on UNIX
if(NOT VCPKG_TARGET_IS_WINDOWS)
vcpkg_fixup_pkgconfig()
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")