mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-17 04:18:34 +08:00
431aa71ec4
Fixes #37087 This disables architecture-specific optimizations when targeting WASM. The root issue is that `libmad`'s CMake configuration seems to detect WASM as an Intel CPU (via `CMAKE_SYSTEM_PROCESSOR`) and then tries to use arch-specific assembly, which results in the build errors from the linked issue. - [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.
45 lines
1.4 KiB
CMake
45 lines
1.4 KiB
CMake
if(VCPKG_TARGET_IS_WINDOWS)
|
|
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
|
endif()
|
|
|
|
vcpkg_download_distfile(
|
|
ARCHIVE
|
|
URLS "https://codeberg.org/tenacityteam/libmad/releases/download/${VERSION}/libmad-${VERSION}.tar.gz"
|
|
FILENAME "tenacityteam-libmad-${VERSION}.tar.gz"
|
|
SHA512 5b0a826408395e8b6b8a33953401355d6c2f1b33ec5085530b4ac8a538c39ffa903ce2e6845e9dcad73936933078959960b2f3fbba11ae091fda5bc5ee310df5
|
|
)
|
|
|
|
vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}")
|
|
|
|
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
|
FEATURES
|
|
aso ASO
|
|
)
|
|
|
|
set(EXTRA_OPTIONS)
|
|
|
|
# Avoid architecture-specific assembly when targeting WASM. The upstream
|
|
# CMakeLists incorrectly recognizes the CPU as an Intel/64-bit CPU, therefore
|
|
# we have to override these flags:
|
|
# https://codeberg.org/tenacityteam/libmad/src/commit/84ba587793d61caadf6d1f6c0d94c3e165874a50/CMakeLists.txt
|
|
if(VCPKG_TARGET_IS_EMSCRIPTEN)
|
|
list(APPEND EXTRA_OPTIONS "-DFPM_64BIT=OFF -DFPM_INTEL=OFF -DFPM_DEFAULT=ON")
|
|
endif()
|
|
|
|
vcpkg_cmake_configure(
|
|
SOURCE_PATH "${SOURCE_PATH}"
|
|
OPTIONS
|
|
${FEATURE_OPTIONS}
|
|
${EXTRA_OPTIONS}
|
|
-DEXAMPLE=OFF
|
|
)
|
|
|
|
vcpkg_cmake_install()
|
|
vcpkg_cmake_config_fixup(PACKAGE_NAME "mad" CONFIG_PATH "lib/cmake/mad")
|
|
vcpkg_fixup_pkgconfig()
|
|
vcpkg_copy_pdbs()
|
|
|
|
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|