abe1bf0a52a61756793c91858568fe3671c2445c
[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 )
48
49 ##############################################################################
50 # vcl tests
51 ##############################################################################
52 option(VPP_BUILD_VCL_TESTS "Build vcl tests." ON)
53 if(VPP_BUILD_VCL_TESTS)
54   foreach(test
55     vcl_test_server
56     vcl_test_client
57     sock_test_server
58     sock_test_client
59   )
60     add_vpp_executable(${test} SOURCES ${test}.c LINK_LIBRARIES vppcom pthread
61                        NO_INSTALL)
62   endforeach()
63 endif(VPP_BUILD_VCL_TESTS)
64