9fead60870251e568e78a6b5356eaca1553d0897
[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
24   LINK_LIBRARIES
25   vppinfra svm vlibmemoryclient rt pthread
26
27   DEPENDS
28   api_headers
29 )
30
31 add_vpp_library(vcl_ldpreload
32   SOURCES
33   ldp_socket_wrapper.c
34   ldp.c
35
36   LINK_LIBRARIES
37   vppinfra svm vlibmemoryclient rt pthread vppcom dl
38 )
39
40 add_vpp_headers(vcl
41   ldp.h
42   sock_test.h
43   ldp_glibc_socket.h
44   vcl_test.h
45   vppcom.h
46   ldp_socket_wrapper.h
47   sock_test_common.h
48 )
49
50 ##############################################################################
51 # vcl tests
52 ##############################################################################
53 option(VPP_BUILD_VCL_TESTS "Build vcl tests." ON)
54 if(VPP_BUILD_VCL_TESTS)
55   foreach(test
56     vcl_test_server
57     vcl_test_client
58     sock_test_server
59     sock_test_client
60   )
61     add_vpp_executable(${test} SOURCES ${test}.c LINK_LIBRARIES vppcom pthread
62                        NO_INSTALL)
63   endforeach()
64 endif(VPP_BUILD_VCL_TESTS)
65