diff options
author | nanger <zhenyinan@huawei.com> | 2018-07-04 15:31:12 +0800 |
---|---|---|
committer | nanger <zhenyinan@huawei.com> | 2018-07-06 15:18:08 +0800 |
commit | cdb0391e9c5e3337fd09f4e3d922d53065dd1374 (patch) | |
tree | 9524adb489f72e6683116ac90285cb8ea93ac8ff /stacks/rsocket/CMakeLists.txt | |
parent | e5171cbb01b4dae20a3abcf1cdf22493e7d5f44d (diff) |
Add integeration of rsocket for DMM
rsocket version: librdmacm-1.1.0
compile with "make dmm_rsocket" command
Change-Id: I8f0aec0d1e11f13f7593e7b7cc3a59d7a9dd287e
Signed-off-by: nanger <zhenyinan@huawei.com>
Diffstat (limited to 'stacks/rsocket/CMakeLists.txt')
-rw-r--r-- | stacks/rsocket/CMakeLists.txt | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/stacks/rsocket/CMakeLists.txt b/stacks/rsocket/CMakeLists.txt new file mode 100644 index 0000000..c1b2f18 --- /dev/null +++ b/stacks/rsocket/CMakeLists.txt @@ -0,0 +1,61 @@ +######################################################################### +# +# 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(rdmacm_dir librdmacm-1.1.0) +SET(dmm_inc_dir ${DMM_REL_INC_DIR}) +SET(RSOCKET_DEBUG 0) + +######################## + +SET(rdmacm_url https://github.com/ofiwg/librdmacm/archive/v1.1.0.tar.gz) + +INCLUDE(ExternalProject) +ExternalProject_Add( + rdmacm + URL ${rdmacm_url} + SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/${rdmacm_dir} + DOWNLOAD_DIR ${CMAKE_CURRENT_LIST_DIR} + PATCH_COMMAND patch -p1 -i ../rsocket.patch + CONFIGURE_COMMAND ./autogen.sh && ./configure dmm_inc_dir=${DMM_REL_INC_DIR} RSOCKET_DEBUG=${RSOCKET_DEBUG} + BUILD_IN_SOURCE 1 + BUILD_COMMAND make + INSTALL_COMMAND cp -f libdmm_rdmacm.a ${LIB_PATH_STATIC}/ + DEPENDS DPDK +) +set_target_properties(rdmacm PROPERTIES EXCLUDE_FROM_ALL TRUE) + +######################## + +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -g -fPIC -m64 -pthread") + +ADD_LIBRARY(dmm_rsocket SHARED src/rsocket_adpt.c) + +ADD_DEFINITIONS(-D_GNU_SOURCE -DRSOCKET_DEBUG=${RSOCKET_DEBUG}) + +INCLUDE_DIRECTORIES(${DMM_REL_INC_DIR}) +INCLUDE_DIRECTORIES(./src ${rdmacm_dir} ${rdmacm_dir}/include ${rdmacm_dir}/src) + +TARGET_LINK_LIBRARIES(dmm_rsocket + -Wl,--whole-archive + ${LIB_PATH_STATIC}/libdmm_rdmacm.a + -Wl,--no-whole-archive + ibverbs pthread dl rt +) + +ADD_DEPENDENCIES(dmm_rsocket rdmacm DPDK) + +set_target_properties(dmm_rsocket PROPERTIES EXCLUDE_FROM_ALL TRUE) |