mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-24 23:11:08 +08:00
57676e8f87
- **[cpprestsdk] fix clang build on new zlib** - **./vcpkg x-add-version --all** Defining `dllimport` is *bad* and breaks clang, and since this is in maintaince mode they aren't going to fix it. This had the ability to blow up projects before, but newer zlib versions use `__has_declspec_attribute`, so that makes it impossible to even _build_ cpprestsdk on systems like these (I'm on Fedora 40). Refs: https://github.com/microsoft/cpprestsdk/issues/1710 https://github.com/llvm/llvm-project/issues/53269 - [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. - [x] The "supports" clause reflects platforms that may be fixed by this new version. - [x] 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.
62 lines
1.8 KiB
CMake
62 lines
1.8 KiB
CMake
vcpkg_from_github(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO Microsoft/cpprestsdk
|
|
REF 411a109150b270f23c8c97fa4ec9a0a4a98cdecf
|
|
SHA512 4f604763f05d53e50dec5deaba283fa4f82d5e7a94c7c8142bf422f4c0bc24bcef00666ddbdd820f64c14e552997d6657b6aca79a29e69db43799961b44b2a1a
|
|
HEAD_REF master
|
|
PATCHES
|
|
fix-find-openssl.patch
|
|
fix_narrowing.patch
|
|
fix-uwp.patch
|
|
fix-clang-dllimport.patch # workaround for https://github.com/microsoft/cpprestsdk/issues/1710
|
|
)
|
|
|
|
set(OPTIONS)
|
|
if(NOT VCPKG_TARGET_IS_UWP)
|
|
SET(WEBSOCKETPP_PATH "${CURRENT_INSTALLED_DIR}/share/websocketpp")
|
|
list(APPEND OPTIONS
|
|
-DWEBSOCKETPP_CONFIG=${WEBSOCKETPP_PATH}
|
|
-DWEBSOCKETPP_CONFIG_VERSION=${WEBSOCKETPP_PATH})
|
|
endif()
|
|
|
|
vcpkg_check_features(
|
|
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
|
INVERTED_FEATURES
|
|
brotli CPPREST_EXCLUDE_BROTLI
|
|
compression CPPREST_EXCLUDE_COMPRESSION
|
|
websockets CPPREST_EXCLUDE_WEBSOCKETS
|
|
)
|
|
|
|
if(VCPKG_TARGET_IS_UWP)
|
|
set(configure_opts WINDOWS_USE_MSBUILD)
|
|
endif()
|
|
|
|
vcpkg_cmake_configure(
|
|
SOURCE_PATH "${SOURCE_PATH}/Release"
|
|
${configure_opts}
|
|
OPTIONS
|
|
${OPTIONS}
|
|
${FEATURE_OPTIONS}
|
|
-DBUILD_TESTS=OFF
|
|
-DBUILD_SAMPLES=OFF
|
|
-DCPPREST_EXPORT_DIR=share/cpprestsdk
|
|
-DWERROR=OFF
|
|
-DPKG_CONFIG_EXECUTABLE=FALSE
|
|
OPTIONS_DEBUG
|
|
-DCPPREST_INSTALL_HEADERS=OFF
|
|
)
|
|
|
|
vcpkg_cmake_install()
|
|
|
|
vcpkg_copy_pdbs()
|
|
|
|
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/share/${PORT}")
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/share" "${CURRENT_PACKAGES_DIR}/lib/share")
|
|
|
|
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/cpprest/details/cpprest_compat.h"
|
|
"#ifdef _NO_ASYNCRTIMP" "#if 1")
|
|
endif()
|
|
|
|
file(INSTALL "${SOURCE_PATH}/license.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|