72 lines
2.6 KiB
CMake
72 lines
2.6 KiB
CMake
vcpkg_from_github(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO lief-project/LIEF
|
|
REF ${VERSION}
|
|
SHA512 776d26bc5d8ec7bca823d1c0fc821b0efc2411976901e1fca0ffecbc64591798e9e21a483c1637e9877bdd921dc463ffaef4eeb6a76d9dd8463c97c5f50834d4
|
|
HEAD_REF master
|
|
PATCHES
|
|
fix-cmakelists.patch
|
|
fix-liefconfig-cmake-in.patch
|
|
fix-vcpkg-includes.patch
|
|
)
|
|
|
|
file(REMOVE_RECURSE "${SOURCE_PATH}/third-party")
|
|
|
|
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
|
FEATURES
|
|
"c-api" LIEF_C_API # C API
|
|
"enable-json" LIEF_ENABLE_JSON # Enable JSON-related APIs
|
|
"extra-warnings" LIEF_EXTRA_WARNINGS # Enable extra warning from the compiler
|
|
"logging" LIEF_LOGGING # Enable logging
|
|
"logging-debug" LIEF_LOGGING_DEBUG # Enable debug logging
|
|
|
|
"use-ccache" LIEF_USE_CCACHE # Use ccache to speed up compilation
|
|
|
|
"elf" LIEF_ELF # Build LIEF with ELF module
|
|
"pe" LIEF_PE # Build LIEF with PE module
|
|
"macho" LIEF_MACHO # Build LIEF with MachO module
|
|
|
|
"oat" LIEF_OAT # Build LIEF with OAT module
|
|
"dex" LIEF_DEX # Build LIEF with DEX module
|
|
"vdex" LIEF_VDEX # Build LIEF with VDEX module
|
|
"art" LIEF_ART # Build LIEF with ART module
|
|
)
|
|
|
|
vcpkg_cmake_configure(
|
|
SOURCE_PATH "${SOURCE_PATH}"
|
|
OPTIONS
|
|
${FEATURE_OPTIONS}
|
|
-DLIEF_EXAMPLES=OFF
|
|
|
|
# Build with external vcpkg dependencies
|
|
-DLIEF_OPT_MBEDTLS_EXTERNAL=ON
|
|
-DLIEF_EXTERNAL_SPDLOG=ON
|
|
-DLIEF_OPT_NLOHMANN_JSON_EXTERNAL=ON
|
|
-DLIEF_OPT_FROZEN_EXTERNAL=ON
|
|
-DLIEF_OPT_EXTERNAL_SPAN=ON
|
|
-DLIEF_OPT_UTFCPP_EXTERNAL=ON
|
|
-DLIEF_OPT_EXTERNAL_EXPECTED=ON
|
|
-DLIEF_DISABLE_FROZEN=OFF
|
|
-DLIEF_DISABLE_EXCEPTIONS=OFF
|
|
|
|
"-DLIEF_EXTERNAL_SPAN_DIR=${_VCPKG_INSTALLED_DIR}/${TARGET_TRIPLET}/include/tcb"
|
|
)
|
|
|
|
vcpkg_cmake_install()
|
|
|
|
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/LIEF")
|
|
|
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/lief/LIEFConfig.cmake"
|
|
[[include("${LIEF_${lib_type}_export}")]]
|
|
[[include("${CMAKE_CURRENT_LIST_DIR}/LIEFExport-${lib_type}.cmake")]]
|
|
)
|
|
|
|
vcpkg_fixup_pkgconfig()
|
|
|
|
file(REMOVE_RECURSE
|
|
"${CURRENT_PACKAGES_DIR}/debug/include"
|
|
"${CURRENT_PACKAGES_DIR}/debug/share"
|
|
)
|
|
|
|
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
|