CMake build system: Fix STREQUAL comparisons and set /Wall for MSVC

This commit is contained in:
Dirk Ziegelmeier 2018-11-22 13:14:14 +01:00
parent ef76bbe3f0
commit 5da6c0cfd0
5 changed files with 14 additions and 14 deletions

View File

@ -7,9 +7,9 @@ set(LWIP_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set (LWIP_DEFINITIONS LWIP_DEBUG=1) set (LWIP_DEFINITIONS LWIP_DEBUG=1)
if (${CMAKE_SYSTEM_NAME} STREQUAL Windows) if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
add_subdirectory(${LWIP_DIR}/contrib/ports/win32/example_app) add_subdirectory(${LWIP_DIR}/contrib/ports/win32/example_app)
elseif(${CMAKE_SYSTEM_NAME} STREQUAL Linux OR ${CMAKE_SYSTEM_NAME} STREQUAL Darwin) elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
add_subdirectory(${LWIP_DIR}/contrib/ports/unix/example_app) add_subdirectory(${LWIP_DIR}/contrib/ports/unix/example_app)
else() else()
message(WARNING "Host ${CMAKE_SYSTEM_NAME} is not supported to build example_app") message(WARNING "Host ${CMAKE_SYSTEM_NAME} is not supported to build example_app")

View File

@ -64,7 +64,7 @@ if (NOT LWIP_HAVE_MBEDTLS)
) )
endif() endif()
if(CMAKE_C_COMPILER_ID STREQUAL GNU) if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG
-Wlogical-op -Wlogical-op
-Wtrampolines -Wtrampolines
@ -92,7 +92,7 @@ if(CMAKE_C_COMPILER_ID STREQUAL GNU)
set(LWIP_COMPILER_FLAGS ${LWIP_COMPILER_FLAGS_GNU_CLANG}) set(LWIP_COMPILER_FLAGS ${LWIP_COMPILER_FLAGS_GNU_CLANG})
endif() endif()
if(CMAKE_C_COMPILER_ID STREQUAL Clang) if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG
-Wdocumentation -Wdocumentation
-Wno-documentation-deprecated-sync -Wno-documentation-deprecated-sync
@ -110,6 +110,6 @@ if(CMAKE_C_COMPILER_ID STREQUAL Clang)
set(LWIP_COMPILER_FLAGS ${LWIP_COMPILER_FLAGS_GNU_CLANG}) set(LWIP_COMPILER_FLAGS ${LWIP_COMPILER_FLAGS_GNU_CLANG})
endif() endif()
if(CMAKE_C_COMPILER_ID STREQUAL MSVC) if(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
# TODO set(LWIP_COMPILER_FLAGS /Wall /WX)
endif() endif()

View File

@ -30,14 +30,14 @@ target_compile_options(lwipcontribportunix PRIVATE ${LWIP_COMPILER_FLAGS})
target_compile_definitions(lwipcontribportunix PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) target_compile_definitions(lwipcontribportunix PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS})
target_link_libraries(lwipcontribportunix PUBLIC ${LWIP_MBEDTLS_LINK_LIBRARIES}) target_link_libraries(lwipcontribportunix PUBLIC ${LWIP_MBEDTLS_LINK_LIBRARIES})
if (CMAKE_SYSTEM_NAME STREQUAL Linux) if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
find_library(LIBUTIL util) find_library(LIBUTIL util)
find_library(LIBPTHREAD pthread) find_library(LIBPTHREAD pthread)
find_library(LIBRT rt) find_library(LIBRT rt)
target_link_libraries(lwipcontribportunix PUBLIC ${LIBUTIL} ${LIBPTHREAD} ${LIBRT}) target_link_libraries(lwipcontribportunix PUBLIC ${LIBUTIL} ${LIBPTHREAD} ${LIBRT})
endif() endif()
if (CMAKE_SYSTEM_NAME STREQUAL Darwin) if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
# Darwin doesn't have pthreads or POSIX real-time extensions libs # Darwin doesn't have pthreads or POSIX real-time extensions libs
find_library(LIBUTIL util) find_library(LIBUTIL util)
target_link_libraries(lwipcontribportunix PUBLIC ${LIBUTIL}) target_link_libraries(lwipcontribportunix PUBLIC ${LIBUTIL})

View File

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.8)
project(lwipunittests C) project(lwipunittests C)
if (NOT CMAKE_SYSTEM_NAME STREQUAL Linux AND NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) if (NOT CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
message(FATAL_ERROR "Unit test are currently only working on Linux or Darwin") message(FATAL_ERROR "Unit test are currently only working on Linux or Darwin")
endif() endif()
@ -10,7 +10,7 @@ set(LWIP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../..)
set(LWIP_USE_SANITIZERS true) set(LWIP_USE_SANITIZERS true)
include(${LWIP_DIR}/contrib/ports/CMakeCommon.cmake) include(${LWIP_DIR}/contrib/ports/CMakeCommon.cmake)
if(CMAKE_C_COMPILER_ID STREQUAL Clang) if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
# check.h causes 'error: token pasting of ',' and __VA_ARGS__ is a GNU extension' with clang 9.0.0 # check.h causes 'error: token pasting of ',' and __VA_ARGS__ is a GNU extension' with clang 9.0.0
list(LWIP_COMPILER_FLAGS APPEND -Wno-gnu-zero-variadic-macro-arguments) list(LWIP_COMPILER_FLAGS APPEND -Wno-gnu-zero-variadic-macro-arguments)
endif() endif()
@ -37,20 +37,20 @@ find_library(LIBCHECK check)
find_library(LIBM m) find_library(LIBM m)
target_link_libraries(lwip_unittests ${LWIP_SANITIZER_LIBS} lwipallapps lwipcore ${LIBCHECK} ${LIBM}) target_link_libraries(lwip_unittests ${LWIP_SANITIZER_LIBS} lwipallapps lwipcore ${LIBCHECK} ${LIBM})
if (NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) if (NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
# check installed via brew on Darwin doesn't have a separate subunit library (must be statically linked) # check installed via brew on Darwin doesn't have a separate subunit library (must be statically linked)
find_library(LIBSUBUNIT subunit) find_library(LIBSUBUNIT subunit)
target_link_libraries(lwip_unittests ${LIBSUBUNIT}) target_link_libraries(lwip_unittests ${LIBSUBUNIT})
endif() endif()
if (CMAKE_SYSTEM_NAME STREQUAL Linux) if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
find_library(LIBUTIL util) find_library(LIBUTIL util)
find_library(LIBPTHREAD pthread) find_library(LIBPTHREAD pthread)
find_library(LIBRT rt) find_library(LIBRT rt)
target_link_libraries(lwip_unittests ${LIBUTIL} ${LIBPTHREAD} ${LIBRT}) target_link_libraries(lwip_unittests ${LIBUTIL} ${LIBPTHREAD} ${LIBRT})
endif() endif()
if (CMAKE_SYSTEM_NAME STREQUAL Darwin) if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
# Darwin doesn't have pthreads or POSIX real-time extensions libs # Darwin doesn't have pthreads or POSIX real-time extensions libs
find_library(LIBUTIL util) find_library(LIBUTIL util)
target_link_libraries(lwip_unittests ${LIBUTIL}) target_link_libraries(lwip_unittests ${LIBUTIL})

View File

@ -4,7 +4,7 @@ project(lwip C)
set (BUILD_SHARED_LIBS ON) set (BUILD_SHARED_LIBS ON)
if (NOT CMAKE_SYSTEM_NAME STREQUAL Linux AND NOT CMAKE_SYSTEM_NAME STREQUAL GNU) if (NOT CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT CMAKE_SYSTEM_NAME STREQUAL "GNU")
message(FATAL_ERROR "Lwip shared library is only working on Linux or the Hurd") message(FATAL_ERROR "Lwip shared library is only working on Linux or the Hurd")
endif() endif()