From 2a42ad20b9730706ad371ae3787d4597c4e42276 Mon Sep 17 00:00:00 2001 From: sharath reddy Date: Tue, 4 Jun 2019 11:53:49 +0530 Subject: Feature: 19.04 part-2 Change-Id: I0b52a6bb67c25c7955d58e29eb81a3cc9efea9e9 Signed-off-by: sharath reddy --- stacks/lwip_stack/lwip_src/CMakeLists.txt | 106 ++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 stacks/lwip_stack/lwip_src/CMakeLists.txt (limited to 'stacks/lwip_stack/lwip_src/CMakeLists.txt') diff --git a/stacks/lwip_stack/lwip_src/CMakeLists.txt b/stacks/lwip_stack/lwip_src/CMakeLists.txt new file mode 100644 index 0000000..170cc46 --- /dev/null +++ b/stacks/lwip_stack/lwip_src/CMakeLists.txt @@ -0,0 +1,106 @@ +######################################################################### +# +# Copyright (c) 2018 Huawei Technologies Co.,Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +######################################################################### + +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -g -fPIE -pie -fPIC -m64 -mssse3 -std=gnu89") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -Wshadow -Wfloat-equal -Wformat=2") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector -fstack-protector-all") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-z,relro,-z,now -Wl,--disable-new-dtags") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-z,noexecstack -mcmodel=medium") + +ADD_DEFINITIONS(-D_GNU_SOURCE) +ADD_DEFINITIONS(-DDPDK_MODULE=0) +if(WITH_HAL_LIB) +SET(RTP_CONFIG ${CMAKE_CURRENT_LIST_DIR}/../src/include/rtp_config.h) +else() + SET(PAL_H_DIRECTORIES "/usr/include/dpdk/") + SET(RTP_CONFIG ${PROJECT_SOURCE_DIR}/src/mem/include/common_sys_config.h) + INCLUDE_DIRECTORIES( + ${PAL_H_DIRECTORIES} + ) +endif() +SET(COMPLE_CONFIG ${CMAKE_CURRENT_LIST_DIR}/../../../src/framework/include/common/compile_config.h) +SET(MGR_COM ${CMAKE_CURRENT_LIST_DIR}/../../../src/framework/ipc/mgr_com/mgr_com.h) +SET(COMMON_MEM_API ${CMAKE_CURRENT_LIST_DIR}/../src/include/common_mem_api.h) +ADD_DEFINITIONS(-include ${RTP_CONFIG}) +ADD_DEFINITIONS(-include ${COMPLE_CONFIG}) +ADD_DEFINITIONS(-include ${MGR_COM}) +ADD_DEFINITIONS(-include ${COMMON_MEM_API}) +if(WITH_SECUREC_LIB) +LINK_LIBRARIES(pthread rt securec) +else() +LINK_LIBRARIES(pthread rt) +endif() +LINK_DIRECTORIES(${LIB_PATH_SHARED} ${LIB_PATH_STATIC}) +INCLUDE_DIRECTORIES( + ${CMAKE_CURRENT_LIST_DIR}/../../../SecureC/include + ${CMAKE_CURRENT_LIST_DIR}/../../../thirdparty/json/json-c-0.12.1/ + ${CMAKE_CURRENT_LIST_DIR}/../../../thirdparty/glog/glog-0.3.5/src/ + ${CMAKE_CURRENT_LIST_DIR}/../../../src/include/ + ${CMAKE_CURRENT_LIST_DIR}/lwip/include/ + ${CMAKE_CURRENT_LIST_DIR}/lwip/include/lwip/ + ${CMAKE_CURRENT_LIST_DIR}/../../../src/framework/include/ + ${CMAKE_CURRENT_LIST_DIR}/../../../src/framework/include/common/ + ${CMAKE_CURRENT_LIST_DIR}/../../../src/framework/include/common/generic/ + ${CMAKE_CURRENT_LIST_DIR}/../src/mem/include/ + ${CMAKE_CURRENT_LIST_DIR}/../src/mem/nsfw_shmem/ +) + +FILE(GLOB API api/*.c) +FILE(GLOB_RECURSE CORE core/*.c) +FILE(GLOB INSTANCE instance/*.c) +FILE(GLOB IPMODULE ip_module/*.c) +FILE(GLOB NETIF netif/*.c) +FILE(GLOB RECYCLE recycle/*.c) +FILE(GLOB_RECURSE MAINTAIN maintain/*.c) +FILE(GLOB COMMON common/*.c) +FILE(GLOB_RECURSE LWIPSRC lwip/arch/*.c lwip/core/*.c lwip/netif/*.c) +FOREACH(item ${LWIPSRC}) + IF(${item} MATCHES "slipif.c") + LIST(REMOVE_ITEM LWIPSRC ${item}) + ENDIF(${item} MATCHES "slipif.c") +ENDFOREACH(item) + +ADD_LIBRARY(stacklwip STATIC ${API} ${ARCH} ${CORE} ${NETIF} ${NETTOOL} ${IPMODULE} ${COMMON} ${INSTANCE} ${RECYCLE} ${MAINTAIN} ${LWIPSRC}) +ADD_DEPENDENCIES(stacklwip JSON GLOG DPDK) +TARGET_INCLUDE_DIRECTORIES( + stacklwip + BEFORE + PRIVATE + common/ + socket/ + include/ + include/util/ + include/log/ + include/ipv4/ + include/ipv4/stackx + include/stackx/ + include/netif/ + include/nstack/ + include/ip_module/ + lwip/include/lwip/ + lwip/include/lwip/arch/ + lwip/include/lwip/apps/ + lwip/include/lwip/priv/ + lwip/include/lwip/prot/ + lwip/include/netif/ + lwip/include/netif/ppp/ + lwip/include/netif/ppp/polarssl/ + ${CMAKE_CURRENT_LIST_DIR}/../src/sbr/ + ${CMAKE_CURRENT_LIST_DIR}/../src/include/ + ${CMAKE_CURRENT_LIST_DIR}/../src/alarm/ + ${CMAKE_CURRENT_LIST_DIR}/../../../src/framework/ipc/mgr_com/ +) + -- cgit 1.2.3-korg