vcl/ldp: add locked sessions shim layer
[vpp.git] / src / vcl / CMakeLists.txt
1 # Copyright (c) 2018 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
14 ##############################################################################
15 # vppcom shared library
16 ##############################################################################
17 add_vpp_library(vppcom
18   SOURCES
19   vppcom.c
20   vcl_bapi.c
21   vcl_cfg.c
22   vcl_private.c
23   vcl_locked.c
24
25   LINK_LIBRARIES
26   vppinfra svm vlibmemoryclient rt pthread
27
28   DEPENDS
29   api_headers
30 )
31
32 add_vpp_library(vcl_ldpreload
33   SOURCES
34   ldp_socket_wrapper.c
35   ldp.c
36
37   LINK_LIBRARIES
38   vppinfra svm vlibmemoryclient rt pthread vppcom dl
39 )
40
41 add_vpp_headers(vcl
42   ldp.h
43   sock_test.h
44   ldp_glibc_socket.h
45   vcl_test.h
46   vppcom.h
47   vcl_locked.h
48   ldp_socket_wrapper.h
49 )
50
51 ##############################################################################
52 # vcl tests
53 ##############################################################################
54 option(VPP_BUILD_VCL_TESTS "Build vcl tests." ON)
55 if(VPP_BUILD_VCL_TESTS)
56   foreach(test
57     vcl_test_server
58     vcl_test_client
59     sock_test_server
60     sock_test_client
61   )
62     add_vpp_executable(${test} SOURCES ${test}.c LINK_LIBRARIES vppcom pthread
63                        NO_INSTALL)
64   endforeach()
65 endif(VPP_BUILD_VCL_TESTS)
66