vcpkg/ports/libpcap/install-pc-on-msvc.patch
Silvio Traversaro 310f4df34f
[libpcap] Enable compilation of libpcap port on x86-windows and x64-windows (#10731)
* Enable compilation of libpcap port on x86-windows and x64-windows

As winpcap and libpcap install the same headers, this two
port have been marked as not not compatible, and cannot be
installed together.

* Update ci.baseline.txt

* Add libcrafter failing ports to ci.baseline.txt
2020-06-11 23:13:23 -07:00

98 lines
3.5 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 55b93f1..3fe9979 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2355,48 +2355,54 @@ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pcap.h DESTINATION include)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pcap-bpf.h DESTINATION include)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pcap-namedb.h DESTINATION include)
-# On UN*X, and on Windows when not using MSVC, generate libpcap.pc and
+# Generate libpcap.pc
+if(BUILD_SHARED_LIBS)
+ set(PACKAGE_NAME ${LIBRARY_NAME})
+else()
+ set(PACKAGE_NAME pcap)
+endif()
+set(prefix ${CMAKE_INSTALL_PREFIX})
+set(exec_prefix "\${prefix}")
+set(includedir "\${prefix}/include")
+set(libdir "\${exec_prefix}/lib")
+if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR
+ CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR
+ CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR
+ CMAKE_SYSTEM_NAME STREQUAL "DragonFly BSD" OR
+ CMAKE_SYSTEM_NAME STREQUAL "Linux" OR
+ CMAKE_SYSTEM_NAME STREQUAL "OSF1")
+ #
+ # Platforms where the linker is the GNU linker
+ # or accepts command-line arguments like
+ # those the GNU linker accepts.
+ #
+ set(V_RPATH_OPT "-Wl,-rpath,")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND CMAKE_SYSTEM_VERSION MATCHES "5[.][0-9.]*")
+ #
+ # SunOS 5.x.
+ #
+ # XXX - this assumes GCC is using the Sun linker,
+ # rather than the GNU linker.
+ #
+ set(V_RPATH_OPT "-Wl,-R,")
+else()
+ #
+ # No option needed to set the RPATH.
+ #
+ set(V_RPATH_OPT "")
+endif()
+set(LIBS "")
+foreach(LIB ${PCAP_LINK_LIBRARIES})
+ set(LIBS "${LIBS} -l${LIB}")
+endforeach(LIB)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpcap.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libpcap.pc @ONLY)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpcap.pc DESTINATION lib/pkgconfig)
+
+# On UN*X, and on Windows when not using MSVC, generate
# pcap-config and process man pages and arrange that they be installed.
if(NOT MSVC)
- set(prefix ${CMAKE_INSTALL_PREFIX})
- set(exec_prefix "\${prefix}")
- set(includedir "\${prefix}/include")
- set(libdir "\${exec_prefix}/lib")
- if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR
- CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR
- CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR
- CMAKE_SYSTEM_NAME STREQUAL "DragonFly BSD" OR
- CMAKE_SYSTEM_NAME STREQUAL "Linux" OR
- CMAKE_SYSTEM_NAME STREQUAL "OSF1")
- #
- # Platforms where the linker is the GNU linker
- # or accepts command-line arguments like
- # those the GNU linker accepts.
- #
- set(V_RPATH_OPT "-Wl,-rpath,")
- elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND CMAKE_SYSTEM_VERSION MATCHES "5[.][0-9.]*")
- #
- # SunOS 5.x.
- #
- # XXX - this assumes GCC is using the Sun linker,
- # rather than the GNU linker.
- #
- set(V_RPATH_OPT "-Wl,-R,")
- else()
- #
- # No option needed to set the RPATH.
- #
- set(V_RPATH_OPT "")
- endif()
- set(LIBS "")
- foreach(LIB ${PCAP_LINK_LIBRARIES})
- set(LIBS "${LIBS} -l${LIB}")
- endforeach(LIB)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcap-config.in ${CMAKE_CURRENT_BINARY_DIR}/pcap-config @ONLY)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpcap.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libpcap.pc @ONLY)
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/pcap-config DESTINATION bin)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpcap.pc DESTINATION lib/pkgconfig)
-
#
# Man pages.
#