mbed-os/connectivity/netsocket/CMakeLists.txt

86 lines
2.3 KiB
CMake

# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if(MBED_ENABLE_OS_INTERNAL_TESTS)
if(MBED_BUILD_GREENTEA_TESTS)
add_subdirectory(tests/TESTS)
else()
add_subdirectory(tests/UNITTESTS)
endif()
endif()
add_library(mbed-netsocket-api STATIC EXCLUDE_FROM_ALL)
target_include_directories(mbed-netsocket-api
PUBLIC
.
./include
./include/netsocket
)
target_sources(mbed-netsocket-api
PRIVATE
source/DTLSSocket.cpp
source/DTLSSocketWrapper.cpp
source/EMACInterface.cpp
source/EthernetInterface.cpp
source/ICMPSocket.cpp
source/InternetDatagramSocket.cpp
source/InternetSocket.cpp
source/L3IPInterface.cpp
source/NetStackMemoryManager.cpp
source/NetworkInterface.cpp
source/NetworkInterfaceDefaults.cpp
source/NetworkStack.cpp
source/PPPInterface.cpp
source/SocketAddress.cpp
source/SocketStats.cpp
source/TCPSocket.cpp
source/TLSSocket.cpp
source/TLSSocketWrapper.cpp
source/UDPSocket.cpp
source/WiFiAccessPoint.cpp
source/nsapi_dns.cpp
source/nsapi_ppp.cpp
)
target_compile_definitions(mbed-netsocket-api
PUBLIC
MBED_CONF_NSAPI_PRESENT=1
)
target_link_libraries(mbed-netsocket-api
PUBLIC
mbed-core-flags
mbed-mbedtls
)
# Currently, netsocket-api needs to link to whichever library is providing an implementation
# of OnboardNetworkStack::get_default_instance(). Otherwise, the link order is not correct.
if("MBED_CONF_NSAPI_DEFAULT_STACK=LWIP" IN_LIST MBED_CONFIG_DEFINITIONS)
target_link_libraries(mbed-netsocket-api PUBLIC mbed-lwipstack)
elseif("MBED_CONF_NSAPI_DEFAULT_STACK=NANOSTACK" IN_LIST MBED_CONFIG_DEFINITIONS)
target_link_libraries(mbed-netsocket-api PUBLIC mbed-nanostack)
endif()
if("DEVICE_EMAC=1" IN_LIST MBED_TARGET_DEFINITIONS)
target_link_libraries(mbed-netsocket-api
INTERFACE
mbed-emac
)
endif()
add_library(mbed-netsocket INTERFACE)
target_link_libraries(mbed-netsocket
INTERFACE
mbed-mbedtls
)
target_link_libraries(mbed-netsocket
INTERFACE
mbed-wifi
mbed-cellular
mbed-nanostack-libservice
)