5ce8b8a3273192a0b6d79ea7caaff59e2d317672
[vpp.git] / src / plugins / nat / 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 set(CMAKE_VERBOSE_MAKEFILE ON)
15
16 add_vpp_library(nat
17   SOURCES
18   lib/alloc.c
19
20   INSTALL_HEADERS
21   lib/alloc.h
22 )
23
24 add_vpp_plugin(nat
25   SOURCES
26   nat.c
27   nat_api.c
28   in2out.c
29   in2out_ed.c
30   out2in.c
31   out2in_ed.c
32   nat_ipfix_logging.c
33   nat_det.c
34   nat_det_in2out.c
35   nat_det_out2in.c
36   nat_dpo.c
37   nat44_cli.c
38   nat44_handoff.c
39   nat44_hairpinning.c
40   nat44_classify.c
41   nat64.c
42   nat64_cli.c
43   nat64_in2out.c
44   nat64_out2in.c
45   nat64_db.c
46   nat_affinity.c
47   nat_format.c
48   nat_syslog.c
49   nat_ha.c
50
51   MULTIARCH_SOURCES
52   in2out.c
53   in2out_ed.c
54   nat44_classify.c
55   nat44_hairpinning.c
56   nat44_handoff.c
57   nat64_in2out.c
58   nat64_out2in.c
59   nat_det_in2out.c
60   nat_det_out2in.c
61   out2in.c
62   out2in_ed.c
63
64   API_FILES
65   nat.api
66   nat_types.api
67
68   API_TEST_SOURCES
69   nat_test.c
70
71   INSTALL_HEADERS
72   nat_all_api_h.h
73   nat_msg_enum.h
74 )
75
76 add_vpp_plugin(dslite
77   SOURCES
78   nat_syslog.c
79   dslite/dslite_api.c
80   dslite/dslite_dpo.c
81   dslite/dslite.c
82   dslite/dslite_in2out.c
83   dslite/dslite_out2in.c
84   dslite/dslite_cli.c
85   dslite/dslite_ce_encap.c
86   dslite/dslite_ce_decap.c
87
88   MULTIARCH_SOURCES
89   dslite/dslite_ce_decap.c
90   dslite/dslite_ce_encap.c
91   dslite/dslite_in2out.c
92   dslite/dslite_out2in.c
93
94   API_FILES
95   dslite/dslite.api
96
97   LINK_LIBRARIES nat
98 )
99
100 add_vpp_plugin(nat66
101   SOURCES
102   nat_syslog.c
103   nat66/nat66.c
104   nat66/nat66_cli.c
105   nat66/nat66_api.c
106   nat66/nat66_in2out.c
107   nat66/nat66_out2in.c
108
109   MULTIARCH_SOURCES
110   nat66/nat66_in2out.c
111   nat66/nat66_out2in.c
112
113   API_FILES
114   nat66/nat66.api
115   nat_types.api
116
117   LINK_LIBRARIES nat
118 )