diff --git a/Filelists.cmake b/Filelists.cmake index 46296d0..2181707 100644 --- a/Filelists.cmake +++ b/Filelists.cmake @@ -23,6 +23,8 @@ set(lwipcontribexamples_SRCS ) add_library(lwipcontribexamples EXCLUDE_FROM_ALL ${lwipcontribexamples_SRCS}) target_compile_options(lwipcontribexamples PRIVATE ${LWIP_COMPILER_FLAGS}) +target_compile_definitions(lwipcontribexamples PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) +target_include_directories(lwipcontribexamples PRIVATE ${LWIP_INCLUDE_DIRS} ${LWIP_MBEDTLS_INCLUDE_DIRS}) set(lwipcontribapps_SRCS ${LWIP_CONTRIB_DIR}/apps/httpserver/httpserver-netconn.c @@ -39,6 +41,8 @@ set(lwipcontribapps_SRCS ) add_library(lwipcontribapps EXCLUDE_FROM_ALL ${lwipcontribapps_SRCS}) target_compile_options(lwipcontribapps PRIVATE ${LWIP_COMPILER_FLAGS}) +target_compile_definitions(lwipcontribapps PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) +target_include_directories(lwipcontribapps PRIVATE ${LWIP_INCLUDE_DIRS} ${LWIP_MBEDTLS_INCLUDE_DIRS}) set(lwipcontribaddons_SRCS ${LWIP_CONTRIB_DIR}/addons/tcp_isn/tcp_isn.c @@ -48,3 +52,5 @@ set(lwipcontribaddons_SRCS ) add_library(lwipcontribaddons EXCLUDE_FROM_ALL ${lwipcontribaddons_SRCS}) target_compile_options(lwipcontribaddons PRIVATE ${LWIP_COMPILER_FLAGS}) +target_compile_definitions(lwipcontribaddons PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) +target_include_directories(lwipcontribaddons PRIVATE ${LWIP_INCLUDE_DIRS} ${LWIP_MBEDTLS_INCLUDE_DIRS}) diff --git a/ports/CMakeCommon.cmake b/ports/CMakeCommon.cmake index 98ef891..8071990 100644 --- a/ports/CMakeCommon.cmake +++ b/ports/CMakeCommon.cmake @@ -23,12 +23,9 @@ if(EXISTS ${MBEDTLSDIR}/include/mbedtls/ssl.h) mbedcrypto mbedx509 ) -else() - set (LWIP_MBEDTLS_INCLUDE_DIRS "") - set (LWIP_MBEDTLS_LINK_LIBRARIES "") endif() -set(LWIP_COMPILER_FLAGS +set(LWIP_COMPILER_FLAGS_GNU_CLANG -g -Wall -pedantic @@ -54,41 +51,43 @@ set(LWIP_COMPILER_FLAGS ) if (NOT LWIP_HAVE_MBEDTLS) - list(APPEND LWIP_COMPILER_FLAGS + list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG -Wredundant-decls ) endif() if(CMAKE_C_COMPILER_ID STREQUAL GNU) - list(APPEND LWIP_COMPILER_FLAGS + list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG -Wlogical-op -Wtrampolines ) if (NOT LWIP_HAVE_MBEDTLS) - list(APPEND LWIP_COMPILER_FLAGS + list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG -Wc90-c99-compat ) endif() if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9) - list(APPEND LWIP_COMPILER_FLAGS + list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG -fsanitize=address - -fstack-protector - -fstack-check -fsanitize=undefined -fno-sanitize=alignment + -fstack-protector + -fstack-check ) endif() + set(LWIP_COMPILER_FLAGS ${LWIP_COMPILER_FLAGS_GNU_CLANG}) endif() if(CMAKE_C_COMPILER_ID STREQUAL Clang) - list(APPEND LWIP_COMPILER_FLAGS + list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG -fsanitize=address -fsanitize=undefined -fno-sanitize=alignment -Wdocumentation -Wno-documentation-deprecated-sync ) + set(LWIP_COMPILER_FLAGS ${LWIP_COMPILER_FLAGS_GNU_CLANG}) endif() if(CMAKE_C_COMPILER_ID STREQUAL MSVC) diff --git a/ports/unix/Filelists.cmake b/ports/unix/Filelists.cmake index 8962528..560199e 100644 --- a/ports/unix/Filelists.cmake +++ b/ports/unix/Filelists.cmake @@ -21,8 +21,10 @@ set(lwipcontribportunixnetifs_SRCS ) add_library(lwipcontribportunix EXCLUDE_FROM_ALL ${lwipcontribportunix_SRCS} ${lwipcontribportunixnetifs_SRCS}) -target_include_directories(lwipcontribportunix PRIVATE "${WPDPACK_DIR}/include") +target_include_directories(lwipcontribportunix PRIVATE ${LWIP_INCLUDE_DIRS} ${LWIP_MBEDTLS_INCLUDE_DIRS}) target_compile_options(lwipcontribportunix PRIVATE ${LWIP_COMPILER_FLAGS}) +target_compile_definitions(lwipcontribaddons PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) +target_link_libraries(lwipcontribportunix PUBLIC ${LWIP_MBEDTLS_LINK_LIBRARIES}) if (CMAKE_SYSTEM_NAME STREQUAL Linux) find_library(LIBUTIL util) diff --git a/ports/unix/example_app/CMakeLists.txt b/ports/unix/example_app/CMakeLists.txt index 6575368..9323d80 100644 --- a/ports/unix/example_app/CMakeLists.txt +++ b/ports/unix/example_app/CMakeLists.txt @@ -9,38 +9,23 @@ set(LWIP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../../lwip) include(${LWIP_CONTRIB_DIR}/ports/CMakeCommon.cmake) -include(${LWIP_DIR}/src/Filelists.cmake) -include(${LWIP_CONTRIB_DIR}/Filelists.cmake) -include(${LWIP_CONTRIB_DIR}/ports/unix/Filelists.cmake) - +set (LWIP_DEFINITIONS -DLWIP_DEBUG) set (LWIP_INCLUDE_DIRS "${LWIP_DIR}/src/include" "${LWIP_CONTRIB_DIR}/" "${LWIP_CONTRIB_DIR}/ports/unix/port/include" "${LWIP_CONTRIB_DIR}/examples/example_app" - ${LWIP_MBEDTLS_INCLUDE_DIRS} ) +include(${LWIP_DIR}/src/Filelists.cmake) +include(${LWIP_CONTRIB_DIR}/Filelists.cmake) +include(${LWIP_CONTRIB_DIR}/ports/unix/Filelists.cmake) + add_executable(example_app ${LWIP_CONTRIB_DIR}/examples/example_app/test.c default_netif.c) +target_include_directories(example_app PRIVATE ${LWIP_INCLUDE_DIRS}) target_compile_options(example_app PRIVATE ${LWIP_COMPILER_FLAGS}) -target_link_libraries(example_app lwipcontribexamples lwipcontribapps lwipcontribaddons lwipallapps lwipcontribportunix lwipcore ${LWIP_MBEDTLS_LINK_LIBRARIES}) - -target_include_directories(example_app PRIVATE ${LWIP_INCLUDE_DIRS}) -target_include_directories(lwipcore PRIVATE ${LWIP_INCLUDE_DIRS}) -target_include_directories(lwipallapps PRIVATE ${LWIP_INCLUDE_DIRS}) -target_include_directories(lwipcontribaddons PRIVATE ${LWIP_INCLUDE_DIRS}) -target_include_directories(lwipcontribapps PRIVATE ${LWIP_INCLUDE_DIRS}) -target_include_directories(lwipcontribexamples PRIVATE ${LWIP_INCLUDE_DIRS}) -target_include_directories(lwipcontribportunix PRIVATE ${LWIP_INCLUDE_DIRS}) - -set (LWIP_DEFINITIONS -DLWIP_DEBUG) -target_compile_definitions(example_app PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_compile_definitions(lwipcore PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_compile_definitions(lwipallapps PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_compile_definitions(lwipcontribaddons PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_compile_definitions(lwipcontribapps PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_compile_definitions(lwipcontribexamples PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_compile_definitions(lwipcontribportunix PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) +target_compile_definitions(example_app PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) +target_link_libraries(example_app lwipcontribexamples lwipcontribapps lwipcontribaddons lwipallapps lwipcontribportunix lwipcore) add_executable(makefsdata ${lwipmakefsdata_SRCS}) target_compile_options(makefsdata PRIVATE ${LWIP_COMPILER_FLAGS}) diff --git a/ports/win32/Filelists.cmake b/ports/win32/Filelists.cmake index 5015b97..26c70ea 100644 --- a/ports/win32/Filelists.cmake +++ b/ports/win32/Filelists.cmake @@ -21,6 +21,7 @@ find_library(WPCAP wpcap HINTS ${WPDPACK_DIR}/lib) find_library(PACKET packet HINTS ${WPDPACK_DIR}/lib) add_library(lwipcontribportwindows EXCLUDE_FROM_ALL ${lwipcontribportwindows_SRCS}) -target_include_directories(lwipcontribportwindows PRIVATE "${WPDPACK_DIR}/include") -target_link_libraries(lwipcontribportwindows PUBLIC ${WPCAP} ${PACKET}) +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}) diff --git a/ports/win32/example_app/CMakeLists.txt b/ports/win32/example_app/CMakeLists.txt index 1af30c7..1448008 100644 --- a/ports/win32/example_app/CMakeLists.txt +++ b/ports/win32/example_app/CMakeLists.txt @@ -9,39 +9,24 @@ set(LWIP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../../lwip) include(${LWIP_CONTRIB_DIR}/ports/CMakeCommon.cmake) -include(${LWIP_DIR}/src/Filelists.cmake) -include(${LWIP_CONTRIB_DIR}/Filelists.cmake) -include(${LWIP_CONTRIB_DIR}/ports/win32/Filelists.cmake) - +set (LWIP_DEFINITIONS -DLWIP_DEBUG) set (LWIP_INCLUDE_DIRS "${LWIP_DIR}/src/include" "${LWIP_CONTRIB_DIR}/" "${LWIP_CONTRIB_DIR}/ports/win32/include" "${LWIP_CONTRIB_DIR}/examples/example_app" - ${LWIP_MBEDTLS_INCLUDE_DIRS} ) +include(${LWIP_DIR}/src/Filelists.cmake) +include(${LWIP_CONTRIB_DIR}/Filelists.cmake) +include(${LWIP_CONTRIB_DIR}/ports/win32/Filelists.cmake) + add_executable(example_app ${LWIP_CONTRIB_DIR}/examples/example_app/test.c default_netif.c) +target_include_directories(example_app PRIVATE ${LWIP_INCLUDE_DIRS}) target_compile_options(example_app PRIVATE ${LWIP_COMPILER_FLAGS}) +target_compile_definitions(example_app PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) target_link_libraries(example_app lwipcontribexamples lwipcontribapps lwipcontribaddons lwipallapps lwipcore lwipcontribportwindows) -target_include_directories(example_app PRIVATE ${LWIP_INCLUDE_DIRS}) -target_include_directories(lwipcore PRIVATE ${LWIP_INCLUDE_DIRS}) -target_include_directories(lwipallapps PRIVATE ${LWIP_INCLUDE_DIRS}) -target_include_directories(lwipcontribaddons PRIVATE ${LWIP_INCLUDE_DIRS}) -target_include_directories(lwipcontribapps PRIVATE ${LWIP_INCLUDE_DIRS}) -target_include_directories(lwipcontribexamples PRIVATE ${LWIP_INCLUDE_DIRS}) -target_include_directories(lwipcontribportwindows PRIVATE ${LWIP_INCLUDE_DIRS}) - -set (LWIP_DEFINITIONS -DLWIP_DEBUG) -target_compile_definitions(example_app PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_compile_definitions(lwipcore PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_compile_definitions(lwipallapps PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_compile_definitions(lwipcontribaddons PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_compile_definitions(lwipcontribapps PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_compile_definitions(lwipcontribexamples PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) -target_compile_definitions(lwipcontribportwindows PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) - add_executable(makefsdata ${lwipmakefsdata_SRCS}) target_compile_options(makefsdata PRIVATE ${LWIP_COMPILER_FLAGS}) target_include_directories(makefsdata PRIVATE ${LWIP_INCLUDE_DIRS})