X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fjapi%2Fjava%2FCMakeLists.txt;h=0cbdd514711fa959ffca0edf87ce22f9e119968b;hb=413f4a5;hp=f36fac2d4e3efebfc2cc821ba05858d2c4249308;hpb=a33db2528485ac39e8987bec7b138dbdad21dc5a;p=vpp.git diff --git a/extras/japi/java/CMakeLists.txt b/extras/japi/java/CMakeLists.txt index f36fac2d4e3..0cbdd514711 100644 --- a/extras/japi/java/CMakeLists.txt +++ b/extras/japi/java/CMakeLists.txt @@ -11,8 +11,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -include (UseJava) - find_path(VNET_INCLUDE_DIR NAMES vnet/api_errno.h) find_library(VPPINFRA_DIR NAMES vppinfra REQUIRED) find_library(VLIBMEMORYCLIENT_DIR NAMES vlibmemoryclient REQUIRED) @@ -20,13 +18,13 @@ find_library(SVM_DIR NAMES svm REQUIRED) include_directories(${VNET_INCLUDE_DIR} ${VNET_INCLUDE_DIR}/vpp_plugins - ${JNI_INCLUDE_DIRS} + ${Java_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR/../vpp/plugins}) add_compile_options(-Wall) ############# Common package ################## add_library(jvpp_common SHARED jvpp-common/jvpp_common.c) -set_target_properties(jvpp_common PROPERTIES SOVERSION ${PROJECT_VERSION}) +set_target_properties(jvpp_common PROPERTIES SOVERSION ${JAPI_LIB_VERSION}) target_link_libraries(jvpp_common ${VPPINFRA_DIR}) install(TARGETS jvpp_common DESTINATION lib COMPONENT libjvpp_common) install(FILES jvpp-common/jvpp_common.h DESTINATION include/japi/) @@ -46,9 +44,10 @@ FILE(GLOB files RELATIVE add_custom_target (jvpp-registry-classes) add_custom_command (TARGET jvpp-registry-classes PRE_BUILD + COMMAND mkdir -p jvpp-registry/target COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/jvpp-registry COMMAND ${Java_JAVAC_EXECUTABLE} - ARGS -d ${CMAKE_CURRENT_BINARY_DIR}/jvpp-registry -h jvpp-registry ${files} + ARGS -d ${CMAKE_CURRENT_SOURCE_DIR}/jvpp-registry/target -h jvpp-registry ${files} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) @@ -56,8 +55,24 @@ add_library(jvpp_registry SHARED jvpp-registry/jvpp_registry.c) target_link_libraries(jvpp_registry ${JVPP_LIBS}) include_directories(jvpp-registry) add_dependencies(jvpp_registry jvpp_common jvpp-registry-classes) -add_jar(jvpp-registry ${files} VERSION ${PROJECT_VERSION}) -install_jar(jvpp-registry DESTINATION share/java/) + +add_custom_target (jvpp-registry) +add_dependencies(jvpp-registry jvpp_registry) +add_custom_command(TARGET jvpp-registry + PRE_BUILD + COMMAND cp ${CMAKE_BINARY_DIR}/lib/libjvpp_registry.so jvpp-registry/target + COMMAND ${Java_JAR_EXECUTABLE} ARGS cf + ${CMAKE_CURRENT_BINARY_DIR}/jvpp-registry-${JAPI_LIB_VERSION}.jar + -C jvpp-registry/target . + COMMAND rm ARGS -rf jvpp-registry/target + jvpp-registry/io_fd_vpp_jvpp_*.h + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMENT "JAR_GEN registry" +) +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/jvpp-registry-${JAPI_LIB_VERSION}.jar + DESTINATION share/java +) ############## Functions ######################### function(japigen name) @@ -73,8 +88,8 @@ function(japigen name) ARGS --plugin_name ${name} --root_dir jvpp-${name} -i ${ARGN} COMMAND find jvpp-${name} -name \*.java > jvpp-${name}/jvpp-${name}.files COMMAND ${Java_JAVAC_EXECUTABLE} - ARGS -cp ${CMAKE_CURRENT_BINARY_DIR}/jvpp-registry-${PROJECT_VERSION}.jar -d - ${CMAKE_CURRENT_BINARY_DIR}/jvpp-${name} -h jvpp-${name} + ARGS -cp ${CMAKE_CURRENT_BINARY_DIR}/jvpp-registry-${JAPI_LIB_VERSION}.jar -d + ${CMAKE_CURRENT_SOURCE_DIR}/jvpp-${name}/target -h jvpp-${name} @jvpp-${name}/jvpp-${name}.files WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMENT "JAVA_API_GEN ${name}" @@ -86,8 +101,8 @@ function(jargen name) POST_BUILD COMMAND cp ${CMAKE_BINARY_DIR}/lib/libjvpp_${name}.so jvpp-${name}/target COMMAND ${Java_JAR_EXECUTABLE} ARGS cf - ${CMAKE_CURRENT_BINARY_DIR}/jvpp-${name}-${PROJECT_VERSION}.jar - @jvpp-${name}/jvpp-${name}.files + ${CMAKE_CURRENT_BINARY_DIR}/jvpp-${name}-${JAPI_LIB_VERSION}.jar + -C jvpp-${name}/target . COMMAND rm ARGS -rf jvpp-${name}/target jvpp-${name}/jvpp-${name}.files jvpp-${name}/jvpp_${name}_gen.h jvpp-${name}/io_fd_vpp_jvpp_*.h jvpp-registry/io_fd_vpp_jvpp_*.h @@ -95,7 +110,7 @@ function(jargen name) COMMENT "JAR_GEN ${name}" ) install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/jvpp-${name}-${PROJECT_VERSION}.jar + FILES ${CMAKE_CURRENT_BINARY_DIR}/jvpp-${name}-${JAPI_LIB_VERSION}.jar DESTINATION share/java ) endfunction()