summaryrefslogtreecommitdiffstats
path: root/java/CMakeLists.txt
diff options
context:
space:
mode:
authorMichal Cmarada <mcmarada@cisco.com>2019-04-30 17:51:18 +0200
committerMichal Cmarada <mcmarada@cisco.com>2019-05-03 09:42:48 +0200
commit94db1e598921084fc99071b37492619ecb3f841d (patch)
tree883b20570ea38811d2cee8d02e1e79ee74470c08 /java/CMakeLists.txt
parent9a6756ab2e531b0e24a7660bf7c67bf7649d69ac (diff)
Revert "Revert "Implementation of jvpp-stats plugin""
This reverts commit f0ce8769561e1b487ab7b909b23510604bebbdc9. Change-Id: I7bd7ac19b58a1b78e6e449c250861ee9db63e72a Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
Diffstat (limited to 'java/CMakeLists.txt')
-rw-r--r--java/CMakeLists.txt45
1 files changed, 45 insertions, 0 deletions
diff --git a/java/CMakeLists.txt b/java/CMakeLists.txt
index 634149b..7270aee 100644
--- a/java/CMakeLists.txt
+++ b/java/CMakeLists.txt
@@ -186,6 +186,51 @@ FILE(GLOB_RECURSE files RELATIVE
# message("COREFILES: ${corefiles}")
java_api_binding(core core ${files})
+############# Stats package ##################
+set(PACKAGE_DIR_JVPP_STATS io/fd/jvpp)
+unset(files)
+FILE(GLOB files RELATIVE
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/jvpp-stats/${PACKAGE_DIR_JVPP_STATS}/*.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/jvpp-stats/${PACKAGE_DIR_JVPP_STATS}/*/*.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/jvpp-stats/${PACKAGE_DIR_JVPP_STATS}/*/*/*.java
+ )
+
+add_custom_target(jvpp-stats-classes ALL)
+add_dependencies(jvpp-stats-classes jvpp-registry)
+add_custom_command(TARGET jvpp-stats-classes
+ PRE_BUILD
+ COMMAND mkdir -p jvpp-stats/target
+ COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/jvpp-stats
+ COMMAND ${Java_JAVAC_EXECUTABLE}
+ ARGS -source 1.8 -target 1.8 -cp ${CMAKE_CURRENT_BINARY_DIR}/jvpp-registry-${JAPI_LIB_VERSION}.jar
+ -d ${CMAKE_CURRENT_SOURCE_DIR}/jvpp-stats/target -h jvpp-stats ${files}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ )
+
+add_library(jvpp_stats SHARED jvpp-stats/jvpp_stats.c)
+target_link_libraries(jvpp_stats ${JVPP_LIBS} vppapiclient vppinfra)
+include_directories(jvpp-stats)
+add_dependencies(jvpp_stats jvpp_common jvpp_registry jvpp-stats-classes)
+
+add_custom_target(jvpp-stats ALL)
+add_dependencies(jvpp-stats jvpp_stats jvpp-stats-classes)
+add_custom_command(TARGET jvpp-stats
+ PRE_BUILD
+ COMMAND cp ${CMAKE_BINARY_DIR}/build-root/lib/libjvpp_stats.so jvpp-stats/target
+ COMMAND ${Java_JAR_EXECUTABLE} ARGS cf
+ ${CMAKE_CURRENT_BINARY_DIR}/jvpp-stats-${JAPI_LIB_VERSION}.jar
+ -C jvpp-stats/target .
+ COMMAND rm ARGS -rf jvpp-stats/target
+ jvpp-stats/io_fd_jvpp_*.h
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMENT "JAR_GEN stats"
+ )
+install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/jvpp-stats-${JAPI_LIB_VERSION}.jar
+ DESTINATION share/java
+)
+
############ Plugin Packages #######################
unset(files)
unset(pluginfiles)