cmake: add add_vpp_library and add_vpp_executable macros
[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_event.c
23   vcl_private.c
24
25   LINK_LIBRARIES
26   vppinfra svm vlibmemoryclient rt pthread
27 )
28
29 add_vpp_headers(vcl
30   ldp.h
31   vcl_event.h
32   sock_test.h
33   ldp_glibc_socket.h
34   vcl_test.h
35   vppcom.h
36   ldp_socket_wrapper.h
37   sock_test_common.h
38 )
39
40 ##############################################################################
41 # vcl tests
42 ##############################################################################
43 option(VPP_BUILD_VCL_TESTS "Build vcl tests." ON)
44 if(VPP_BUILD_VCL_TESTS)
45   foreach(test
46     vcl_test_server
47     vcl_test_client
48     sock_test_server
49     sock_test_client
50     test_vcl_listener_server
51     test_vcl_listener_client
52   )
53     add_vpp_executable(${test} SOURCES ${test}.c LINK_LIBRARIES vppcom)
54   endforeach()
55 endif(VPP_BUILD_VCL_TESTS)
56