win32: fix ethernet and bip6 (#774)
Switch from WinPcap ton npcap. Include npcap sdk in cmake add libs for ipv6 in cmake fix ethernet uninitialized var
This commit is contained in:
+31
-3
@@ -673,8 +673,8 @@ elseif(WIN32)
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE
|
||||
winmm
|
||||
$<$<BOOL:${BACDL_BIP}>:ws2_32>
|
||||
$<$<BOOL:${BACDL_BIP}>:iphlpapi>)
|
||||
$<$<BOOL:${BACDL_BIP} OR BOOL:${BACDL_BIP6}>:ws2_32>
|
||||
$<$<BOOL:${BACDL_BIP} OR BOOL:${BACDL_BIP6}>:iphlpapi>)
|
||||
|
||||
target_sources(${PROJECT_NAME} PRIVATE
|
||||
ports/win32/bacport.h
|
||||
@@ -683,10 +683,38 @@ elseif(WIN32)
|
||||
ports/win32/datetime-init.c
|
||||
$<$<BOOL:${BACDL_MSTP}>:ports/win32/dlmstp.c>
|
||||
# ports/win32/dlmstp-mm.c
|
||||
$<$<BOOL:${BACDL_ETHERNET}>:ports/win32/ethernet.c>
|
||||
ports/win32/mstimer-init.c
|
||||
$<$<BOOL:${BACDL_MSTP}>:ports/win32/rs485.c>
|
||||
$<$<BOOL:${BACDL_MSTP}>:ports/win32/rs485.h>)
|
||||
|
||||
if(BACDL_ETHERNET)
|
||||
include(ExternalProject)
|
||||
set(PCAP_LIB_DIR ${CMAKE_CURRENT_BINARY_DIR}/npcap/Lib/x64)
|
||||
set(PCAP_LIB_WPCAP ${PCAP_LIB_DIR}/wpcap.lib)
|
||||
set(PCAP_LIB_PACKET ${PCAP_LIB_DIR}/Packet.lib)
|
||||
set(PCAP_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/npcap/Include)
|
||||
message(STATUS "BACNET: npcap Include:..................\"${PCAP_INCLUDE}\"")
|
||||
message(STATUS "BACNET: npcap Lib wpcap:................\"${PCAP_LIB_WPCAP}\"")
|
||||
message(STATUS "BACNET: npcap Lib Packet:...............\"${PCAP_LIB_PACKET}\"")
|
||||
ExternalProject_Add(npcap
|
||||
URL https://npcap.com/dist/npcap-sdk-1.13.zip
|
||||
URL_HASH SHA1=8d5bb6f3adb813374402344a8d2a12b9cb725197
|
||||
DOWNLOAD_EXTRACT_TIMESTAMP true
|
||||
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/npcap
|
||||
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/npcap/Lib/x64
|
||||
UPDATE_COMMAND ""
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
TEST_COMMAND ""
|
||||
BUILD_BYPRODUCTS ${PCAP_LIB_WPCAP}
|
||||
BUILD_BYPRODUCTS ${PCAP_LIB_PACKET})
|
||||
include_directories(${PCAP_INCLUDE})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ${PCAP_LIB_WPCAP})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ${PCAP_LIB_PACKET})
|
||||
target_sources(${PROJECT_NAME} PRIVATE
|
||||
ports/win32/ethernet.c)
|
||||
endif()
|
||||
elseif(APPLE)
|
||||
message(STATUS "BACNET: building for APPLE")
|
||||
set(BACNET_PORT_DIRECTORY_PATH ${CMAKE_CURRENT_LIST_DIR}/ports/bsd)
|
||||
|
||||
Reference in New Issue
Block a user