727f57904af3b1d7a5c5a8555998915118ffb408
[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_dpo.c
34   nat44_cli.c
35   nat44_handoff.c
36   nat44_hairpinning.c
37   nat44_classify.c
38   nat_affinity.c
39   nat_format.c
40   nat_syslog.c
41   nat_ha.c
42
43   MULTIARCH_SOURCES
44   in2out.c
45   in2out_ed.c
46   nat44_classify.c
47   nat44_hairpinning.c
48   nat44_handoff.c
49   out2in.c
50   out2in_ed.c
51
52   API_FILES
53   nat.api
54   nat_types.api
55
56   API_TEST_SOURCES
57   nat_test.c
58
59   INSTALL_HEADERS
60   nat_all_api_h.h
61   nat_msg_enum.h
62 )
63
64 add_vpp_plugin(dslite
65   SOURCES
66   nat_syslog.c
67   dslite/dslite_api.c
68   dslite/dslite_dpo.c
69   dslite/dslite.c
70   dslite/dslite_in2out.c
71   dslite/dslite_out2in.c
72   dslite/dslite_cli.c
73   dslite/dslite_ce_encap.c
74   dslite/dslite_ce_decap.c
75
76   MULTIARCH_SOURCES
77   dslite/dslite_ce_decap.c
78   dslite/dslite_ce_encap.c
79   dslite/dslite_in2out.c
80   dslite/dslite_out2in.c
81
82   API_FILES
83   dslite/dslite.api
84
85   LINK_LIBRARIES nat
86 )
87
88 add_vpp_plugin(nat66
89   SOURCES
90   nat_syslog.c
91   nat66/nat66.c
92   nat66/nat66_cli.c
93   nat66/nat66_api.c
94   nat66/nat66_in2out.c
95   nat66/nat66_out2in.c
96
97   MULTIARCH_SOURCES
98   nat66/nat66_in2out.c
99   nat66/nat66_out2in.c
100
101   API_FILES
102   nat66/nat66.api
103   nat_types.api
104
105   LINK_LIBRARIES nat
106 )
107
108 add_vpp_plugin(det44
109   SOURCES
110   det44/det44.c
111   det44/det44_cli.c
112   det44/det44_api.c
113   det44/det44_in2out.c
114   det44/det44_out2in.c
115
116   MULTIARCH_SOURCES
117   det44/det44_in2out.c
118   det44/det44_out2in.c
119
120   API_FILES
121   det44/det44.api
122   nat_types.api
123
124   LINK_LIBRARIES nat
125 )
126
127 add_vpp_plugin(nat64
128   SOURCES
129   nat_syslog.c
130   nat64/nat64.c
131   nat64/nat64_db.c
132   nat64/nat64_cli.c
133   nat64/nat64_api.c
134   nat64/nat64_in2out.c
135   nat64/nat64_out2in.c
136
137   MULTIARCH_SOURCES
138   nat64/nat64_in2out.c
139   nat64/nat64_out2in.c
140
141   API_FILES
142   nat64/nat64.api
143   nat_types.api
144
145   LINK_LIBRARIES nat
146 )