vcpkg/ports/open62541/portfile.cmake
WangWeiLin-MV a8c02e6a74
[open62541] Update to 1.3.10 [open62541pp] Update to 0.13.0 (#38953)
Refer to #38922, related of #38762.

### Checklist
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] 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.~
- [x] 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.

### Test
The ports `open62541` and `open62541pp` usages test pass with the
following triplets:
* x64-windows
2024-05-27 14:23:29 -07:00

55 lines
1.8 KiB
CMake

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO open62541/open62541
REF "v${VERSION}"
SHA512 47e2a8af03e3e6dfbf6edcf3bec665a639c5cd6a826d987bb72eafb981e0ebfde01f36e624798fa529e8fcd83b6f22972538c4ea181ccd1a5bd5988bd87331c5
HEAD_REF master
)
# disable docs
vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "add_subdirectory(doc)" "")
vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "include(linting_target)" "")
vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
amalgamation UA_ENABLE_AMALGAMATION
historizing UA_ENABLE_HISTORIZING
)
if("openssl" IN_LIST FEATURES)
set(OPEN62541_ENCRYPTION_OPTIONS -DUA_ENABLE_ENCRYPTION=OPENSSL)
if("mbedtls" IN_LIST FEATURES)
message(WARNING "Only one encryption method can be used. When both [openssl] and [mbedtls] "
"are on, openssl is used. To use [mbedtls], don't enable [openssl]. To suppress this "
"message, don't enable [mbedtls]")
endif()
elseif("mbedtls" IN_LIST FEATURES)
set(OPEN62541_ENCRYPTION_OPTIONS -DUA_ENABLE_ENCRYPTION=MBEDTLS)
endif()
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
vcpkg_add_to_path("${PYTHON3_DIR}")
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
${OPEN62541_ENCRYPTION_OPTIONS}
"-DOPEN62541_VERSION=v${VERSION}"
-DUA_MSVC_FORCE_STATIC_CRT=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/open62541")
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/open62541/tools")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")