cmake: add add_vpp_library and add_vpp_executable macros
Change-Id: I1382021a6f616571b4b3243ba8c8999239d10815
Signed-off-by: Damjan Marion <damarion@cisco.com>
diff --git a/src/vat/CMakeLists.txt b/src/vat/CMakeLists.txt
index 9edfec7..feb335c 100644
--- a/src/vat/CMakeLists.txt
+++ b/src/vat/CMakeLists.txt
@@ -14,50 +14,48 @@
##############################################################################
# vat plugin shared library
##############################################################################
-add_library(vatplugin SHARED plugin_api.c)
-target_link_libraries(vatplugin vppinfra)
-add_dependencies (vatplugin vppinfra)
-install(TARGETS vatplugin DESTINATION lib)
+add_vpp_library(vatplugin
+ SOURCES plugin_api.c
+ LINK_LIBRARIES vppinfra
+)
##############################################################################
# vpp_api_test
##############################################################################
-add_executable (vpp_api_test
+add_vpp_executable(vpp_api_test ENABLE_EXPORTS
+ SOURCES
api_format.c
main.c
plugin.c
json_format.c
- vat.h
- json_format.h
+
+ LINK_LIBRARIES
+ vlibmemoryclient
+ svm
+ vatplugin
+ vppinfra
+ Threads::Threads
+ rt m dl crypto
)
-target_link_libraries (vpp_api_test vlibmemoryclient svm vatplugin vppinfra
- Threads::Threads rt m dl crypto)
-set_target_properties(vpp_api_test PROPERTIES ENABLE_EXPORTS 1)
-install(TARGETS vpp_api_test DESTINATION bin)
##############################################################################
# vpp_json_test
##############################################################################
-add_executable (vpp_json_test
- json_format.h
- json_format.c
- json_test.c)
-target_link_libraries(vpp_json_test vppinfra m)
-set_target_properties(vpp_json_test PROPERTIES ENABLE_EXPORTS 1)
-install(TARGETS vpp_json_test DESTINATION bin)
+add_vpp_executable(vpp_json_test ENABLE_EXPORTS
+ SOURCES json_format.c json_test.c
+ LINK_LIBRARIES vppinfra m
+)
##############################################################################
# vat headers
##############################################################################
-vpp_add_header_files(vat
- vat.h
- json_format.h
-)
+install(FILES vat.h json_format.h DESTINATION include/vat)
##############################################################################
# restart
##############################################################################
-add_executable (vpp_restart restart.c)
-target_link_libraries (vpp_restart svmdb svm vppinfra pthread rt)
-install(TARGETS vpp_restart DESTINATION bin )
+add_vpp_executable(vpp_restart
+ SOURCES restart.c
+ LINK_LIBRARIES svm svmdb vppinfra Threads::Threads rt
+)