mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-19 03:35:28 +08:00
5b2ac1fed8
* [libhsplasma/libpcap/lv2] Update to the latest version * [libpcap] Remove unused comments * Update version files * [lv2] Fix usage [libpcap] Update ci.baseline.txt * [libhsplasma] Remove x64-windows-static=fail from ci.baseline.txt * [libcrafter] Update to 1.0 * [libcrafter] Add vcpkg.json * Update version files * Add CRT check for libpcap and update version as versin-semver for libpcap * Update version files Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
84 lines
3.3 KiB
CMake
84 lines
3.3 KiB
CMake
vcpkg_fail_port_install(ON_TARGET "UWP" "OSX")
|
|
|
|
if(EXISTS "${CURRENT_INSTALLED_DIR}/share/winpcap")
|
|
message(FATAL_ERROR "FATAL ERROR: winpcap and libpcap are incompatible.")
|
|
endif()
|
|
|
|
if(VCPKG_TARGET_IS_LINUX)
|
|
message(
|
|
"libpcap currently requires the following libraries from the system package manager:
|
|
flex
|
|
libbison-dev
|
|
These can be installed on Ubuntu systems via sudo apt install flex libbison-dev"
|
|
)
|
|
endif()
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
|
|
|
|
vcpkg_from_github(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO the-tcpdump-group/libpcap
|
|
REF c7642e2cc0c5bd65754685b160d25dc23c76c6bd #1.10.1
|
|
SHA512 ed46095863aaee79ca2833d26438f6c837cc3e64acb73efd5a388a11ff7d0d1245d23e5404070a9f2c2c77840c93c09328746761e4481e9a530593a5cbf2ad6f
|
|
HEAD_REF master
|
|
PATCHES
|
|
install-pc-on-msvc.patch
|
|
add-disable-packet-option.patch
|
|
)
|
|
|
|
vcpkg_find_acquire_program(BISON)
|
|
get_filename_component(BISON_PATH ${BISON} DIRECTORY)
|
|
vcpkg_add_to_path(${BISON_PATH})
|
|
vcpkg_find_acquire_program(FLEX)
|
|
get_filename_component(FLEX_PATH ${FLEX} DIRECTORY)
|
|
vcpkg_add_to_path(${FLEX_PATH})
|
|
|
|
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" USE_STATIC_RT)
|
|
|
|
vcpkg_cmake_configure(
|
|
SOURCE_PATH "${SOURCE_PATH}"
|
|
OPTIONS
|
|
-DDISABLE_NETMAP=ON
|
|
-DDISABLE_BLUETOOTH=ON
|
|
-DDISABLE_DBUS=ON
|
|
-DDISABLE_RDMA=ON
|
|
-DDISABLE_DAG=ON
|
|
-DDISABLE_SEPTEL=ON
|
|
-DDISABLE_SNF=ON
|
|
-DDISABLE_TC=ON
|
|
-DDISABLE_PACKET=ON
|
|
-DENABLE_REMOTE=OFF
|
|
-DUSE_STATIC_RT=${USE_STATIC_RT}
|
|
)
|
|
|
|
vcpkg_cmake_install()
|
|
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
|
|
|
# On Windows 64-bit, libpcap 1.10.1 installs the libraries in a x64 subdirectory of the usual directories
|
|
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
|
set(libsubdir "x64")
|
|
file(GLOB_RECURSE FILES_TO_MOVE "${CURRENT_PACKAGES_DIR}/lib/${libsubdir}/*")
|
|
file(COPY ${FILES_TO_MOVE} DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
|
|
file(GLOB_RECURSE FILES_TO_MOVE "${CURRENT_PACKAGES_DIR}/debug/lib/${libsubdir}/*")
|
|
file(COPY ${FILES_TO_MOVE} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
|
|
file(GLOB_RECURSE FILES_TO_MOVE "${CURRENT_PACKAGES_DIR}/bin/${libsubdir}/*")
|
|
file(COPY ${FILES_TO_MOVE} DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
|
|
file(GLOB_RECURSE FILES_TO_MOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${libsubdir}/*")
|
|
file(COPY ${FILES_TO_MOVE} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/${libsubdir}"
|
|
"${CURRENT_PACKAGES_DIR}/debug/lib/${libsubdir}"
|
|
"${CURRENT_PACKAGES_DIR}/bin/${libsubdir}"
|
|
"${CURRENT_PACKAGES_DIR}/debug/bin/${libsubdir}")
|
|
endif()
|
|
|
|
# Even if compiled with BUILD_SHARED_LIBS=ON, pcap also install a pcap_static library
|
|
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
|
file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pcap_static.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/pcap_static.lib")
|
|
endif()
|
|
|
|
vcpkg_fixup_pkgconfig()
|
|
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
|
|
endif()
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/share/man") |