blob: 8b3223d0990a41f616286c220ac96fc95b0a177e [file] [log] [blame]
msardara8f554b72018-12-11 18:36:55 +01001# Copyright (c) 2017 Cisco and/or its affiliates.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at:
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
15
16set(HEADERS_DIR ${CMAKE_CURRENT_SOURCE_DIR})
17
18list(APPEND MEMIF_HEADERS
19 libmemif.h
20 memif.h
21)
22
23list(APPEND MEMIF_PRIVATE_HEADERS
24 memif_private.h
25 socket.h
26)
27
28list(APPEND MEMIF_SOURCES
29 main.c
30 socket.c
31)
32
33include_directories(${HEADERS_DIR})
34
Damjan Marion599efc62020-05-07 16:49:45 +020035add_library(memif SHARED ${MEMIF_SOURCES})
36target_link_libraries(memif ${CMAKE_THREAD_LIBS_INIT})
Mohsin Kazmic60266d2024-01-17 12:00:16 +000037target_compile_definitions(memif PUBLIC MEMIF_CACHELINE_SIZE=${LIBMEMIF_CACHELINE_SIZE})
Andrew Yourtchenkoe5b7ca42021-01-29 14:18:12 +000038
39find_library(LIB_BSD bsd)
40if(LIB_BSD)
41 add_compile_definitions(HAS_LIB_BSD)
42 target_link_libraries(memif ${LIB_BSD})
43endif()
44
Damjan Marion599efc62020-05-07 16:49:45 +020045foreach(file ${MEMIF_HEADERS})
46 get_filename_component(dir ${file} DIRECTORY)
47 install(
48 FILES ${file}
49 DESTINATION include/${lib}/${dir}
50 COMPONENT libmemif-dev
51 )
52endforeach()
msardara8f554b72018-12-11 18:36:55 +010053
Damjan Marion599efc62020-05-07 16:49:45 +020054install(TARGETS memif DESTINATION lib COMPONENT libmemif)