CMake as an alternative to autotools (experimental)
[vpp.git] / src / svm / 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 # svm shared library
16 ##############################################################################
17 add_library(svm SHARED
18   svm.c
19   ssvm.c
20   svm_fifo.c
21   svm_fifo_segment.c
22   queue.c
23   message_queue.c
24 )
25 target_link_libraries(svm vppinfra rt pthread)
26 install(TARGETS svm DESTINATION lib)
27
28 ##############################################################################
29 # svmdb shared library
30 ##############################################################################
31 add_library(svmdb SHARED svmdb.c)
32 target_link_libraries(svmdb svm vppinfra rt pthread)
33 install(TARGETS svmdb DESTINATION lib)
34
35 ##############################################################################
36 # svm headers
37 ##############################################################################
38 vpp_add_header_files(svm
39   ssvm.h
40   svm_common.h
41   svmdb.h
42   svm_fifo.h
43   svm_fifo_segment.h
44   queue.h
45   message_queue.h
46   svm.h
47 )
48
49 ##############################################################################
50 # svm tools
51 ##############################################################################
52
53 add_executable (svmtool svmtool.c)
54 target_link_libraries (svmtool vppinfra svm)
55 add_executable (svmdbtool svmdbtool.c)
56 target_link_libraries (svmdbtool vppinfra svm svmdb)
57
58 install(
59   TARGETS svmtool svmdbtool
60   DESTINATION bin
61 )
62