mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-16 14:11:02 +00:00
3fe8d2fc43
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
47 lines
1.9 KiB
CMake
47 lines
1.9 KiB
CMake
# This file is indended to be included in end-user CMakeLists.txt
|
|
# include(/path/to/Filelists.cmake)
|
|
# It assumes the variable LWIP_CONTRIB_DIR is defined pointing to the
|
|
# root path of lwIP/contrib sources.
|
|
#
|
|
# This file is NOT designed (on purpose) to be used as cmake
|
|
# subdir via add_subdirectory()
|
|
# The intention is to provide greater flexibility to users to
|
|
# create their own targets using the *_SRCS variables.
|
|
|
|
if(NOT ${CMAKE_VERSION} VERSION_LESS "3.10.0")
|
|
include_guard(GLOBAL)
|
|
endif()
|
|
|
|
set(lwipcontribportwindows_SRCS
|
|
${LWIP_CONTRIB_DIR}/ports/win32/sys_arch.c
|
|
${LWIP_CONTRIB_DIR}/ports/win32/sio.c
|
|
${LWIP_CONTRIB_DIR}/ports/win32/pcapif.c
|
|
${LWIP_CONTRIB_DIR}/ports/win32/pcapif_helper.c
|
|
)
|
|
|
|
# pcapif needs WinPcap developer package: https://www.winpcap.org/devel.htm
|
|
if(NOT DEFINED WPDPACK_DIR)
|
|
set(WPDPACK_DIR ${LWIP_DIR}/../WpdPack)
|
|
message(STATUS "WPDPACK_DIR not set - using default location ${WPDPACK_DIR}")
|
|
endif()
|
|
if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
set(WPDPACK_LIB_DIR ${WPDPACK_DIR}/lib/x64)
|
|
else()
|
|
set(WPDPACK_LIB_DIR ${WPDPACK_DIR}/lib)
|
|
endif()
|
|
set(WPCAP ${WPDPACK_LIB_DIR}/wpcap.lib)
|
|
set(PACKET ${WPDPACK_LIB_DIR}/packet.lib)
|
|
else()
|
|
find_library(WPCAP wpcap HINTS ${WPDPACK_DIR}/lib/x64)
|
|
find_library(PACKET packet HINTS ${WPDPACK_DIR}/lib/x64)
|
|
endif()
|
|
message(STATUS "WPCAP library: ${WPCAP}")
|
|
message(STATUS "PACKET library: ${PACKET}")
|
|
|
|
add_library(lwipcontribportwindows EXCLUDE_FROM_ALL ${lwipcontribportwindows_SRCS})
|
|
target_include_directories(lwipcontribportwindows PRIVATE ${LWIP_INCLUDE_DIRS} "${WPDPACK_DIR}/include" ${LWIP_MBEDTLS_INCLUDE_DIRS})
|
|
target_compile_options(lwipcontribportwindows PRIVATE ${LWIP_COMPILER_FLAGS})
|
|
target_compile_definitions(lwipcontribaddons PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS})
|
|
target_link_libraries(lwipcontribportwindows PUBLIC ${WPCAP} ${PACKET} ${LWIP_MBEDTLS_LINK_LIBRARIES})
|