Split java CMakeLists.txt into several ones (#2734)
* Split java CMakeLists.txt into several ones * Replaced openjdk to OpenJDK * Build Java library before tests
This commit is contained in:
@@ -1,64 +1,36 @@
|
|||||||
# Copyright (C) 2020 Intel Corporation
|
# Copyright (C) 2020 Intel Corporation
|
||||||
|
|
||||||
|
project(inference_engine_java_api)
|
||||||
|
|
||||||
|
# Find Java
|
||||||
|
|
||||||
find_package(Java REQUIRED)
|
find_package(Java REQUIRED)
|
||||||
include(UseJava)
|
include(UseJava)
|
||||||
|
|
||||||
set(JAVA_AWT_INCLUDE_PATH NotNeeded)
|
set(JAVA_AWT_INCLUDE_PATH NotNeeded)
|
||||||
|
|
||||||
project(inference_engine_java_api)
|
|
||||||
|
|
||||||
set(InferenceEngine_LIBRARIES inference_engine)
|
|
||||||
|
|
||||||
find_package(JNI REQUIRED)
|
find_package(JNI REQUIRED)
|
||||||
|
|
||||||
file(GLOB_RECURSE sources cpp/*.cpp)
|
# Build native part
|
||||||
add_library(${PROJECT_NAME} SHARED ${sources})
|
|
||||||
|
|
||||||
file(GLOB_RECURSE java_source org/intel/openvino/*.java)
|
file(GLOB_RECURSE sources ${CMAKE_CURRENT_SOURCE_DIR}/cpp/*.cpp)
|
||||||
add_jar(inference_engine_jar ${java_source}
|
|
||||||
OUTPUT_NAME ${PROJECT_NAME}
|
add_library(${PROJECT_NAME} SHARED ${sources})
|
||||||
OUTPUT_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE inference_engine)
|
target_link_libraries(${PROJECT_NAME} PRIVATE inference_engine)
|
||||||
target_include_directories(${PROJECT_NAME} PRIVATE ${JNI_INCLUDE_DIRS})
|
target_include_directories(${PROJECT_NAME} PRIVATE ${JNI_INCLUDE_DIRS})
|
||||||
|
|
||||||
if(ENABLE_TESTS)
|
# Build java part
|
||||||
file(DOWNLOAD https://search.maven.org/remotecontent?filepath=junit/junit/4.13/junit-4.13.jar
|
|
||||||
${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/junit-4.13.jar)
|
|
||||||
file(DOWNLOAD https://search.maven.org/remotecontent?filepath=org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
|
|
||||||
${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/hamcrest-core-1.3.jar)
|
|
||||||
|
|
||||||
file(GLOB_RECURSE java_tests_src tests/*.java)
|
file(GLOB_RECURSE java_source ${CMAKE_CURRENT_SOURCE_DIR}/org/intel/openvino/*.java)
|
||||||
add_jar(ie_java_api_tests_jar
|
add_jar(inference_engine_jar ${java_source}
|
||||||
SOURCES ${java_tests_src} samples/ArgumentParser.java
|
OUTPUT_NAME ${PROJECT_NAME}
|
||||||
OUTPUT_NAME ie_java_api_tests
|
OUTPUT_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
||||||
OUTPUT_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
|
||||||
INCLUDE_JARS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/*)
|
if(ENABLE_TESTS)
|
||||||
|
add_subdirectory(tests)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENABLE_SAMPLES)
|
if(ENABLE_SAMPLES)
|
||||||
find_package(OpenCV)
|
add_subdirectory(samples)
|
||||||
if(OpenCV_FOUND)
|
|
||||||
if(EXISTS "${OpenCV_INSTALL_PATH}/share/java")
|
|
||||||
file(GLOB_RECURSE java_opencv_src ${OpenCV_INSTALL_PATH}/share/java/*.jar)
|
|
||||||
elseif(EXISTS "${OpenCV_INSTALL_PATH}/bin")
|
|
||||||
file(GLOB java_opencv_src ${OpenCV_INSTALL_PATH}/bin/*.jar)
|
|
||||||
endif()
|
|
||||||
if(EXISTS "${java_opencv_src}")
|
|
||||||
file(GLOB java_samples samples/*)
|
|
||||||
foreach(sample ${java_samples})
|
|
||||||
if(IS_DIRECTORY ${sample})
|
|
||||||
get_filename_component(sample_name "${sample}" NAME)
|
|
||||||
file(GLOB_RECURSE sample_src ${sample}/*.java)
|
|
||||||
add_jar("${sample_name}_jar"
|
|
||||||
SOURCES ${sample_src} samples/ArgumentParser.java
|
|
||||||
OUTPUT_NAME ${sample_name}
|
|
||||||
OUTPUT_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
|
||||||
INCLUDE_JARS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/* ${java_opencv_src})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
else()
|
|
||||||
message(WARNING ".jar file wasn't found for OpenCV. Java samples won't be build.")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -1,17 +1,12 @@
|
|||||||
## Software Requirements
|
## Software Requirements
|
||||||
- openjdk 11
|
- OpenJDK (version depends on target OS)
|
||||||
|
|
||||||
### Linux
|
### Linux
|
||||||
To install openjdk:
|
To install OpenJDK:
|
||||||
|
|
||||||
* Ubuntu 18.04
|
* Ubuntu systems:
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install -y openjdk-11-jdk
|
sudo apt-get install -y default-jdk
|
||||||
```
|
|
||||||
|
|
||||||
* Ubuntu 16.04
|
|
||||||
```bash
|
|
||||||
sudo apt-get install -y openjdk-9-jdk
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Building on Linux
|
## Building on Linux
|
||||||
|
|||||||
29
inference-engine/ie_bridges/java/samples/CMakeLists.txt
Normal file
29
inference-engine/ie_bridges/java/samples/CMakeLists.txt
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# Copyright (C) 2020 Intel Corporation
|
||||||
|
|
||||||
|
find_package(OpenCV)
|
||||||
|
if(NOT OpenCV_FOUND)
|
||||||
|
message(WARNING ".jar file wasn't found for OpenCV. Java samples won't be build.")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(EXISTS "${OpenCV_INSTALL_PATH}/share/java")
|
||||||
|
file(GLOB_RECURSE java_opencv_src ${OpenCV_INSTALL_PATH}/share/java/*.jar)
|
||||||
|
elseif(EXISTS "${OpenCV_INSTALL_PATH}/bin")
|
||||||
|
file(GLOB java_opencv_src ${OpenCV_INSTALL_PATH}/bin/*.jar)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(EXISTS "${java_opencv_src}")
|
||||||
|
file(GLOB java_samples ${CMAKE_CURRENT_SOURCE_DIR}/samples/*)
|
||||||
|
foreach(sample IN LISTS java_samples)
|
||||||
|
if(IS_DIRECTORY "${sample}")
|
||||||
|
get_filename_component(sample_name "${sample}" NAME)
|
||||||
|
file(GLOB_RECURSE sample_src ${sample}/*.java)
|
||||||
|
add_jar("${sample_name}_jar"
|
||||||
|
SOURCES ${sample_src}
|
||||||
|
${PROJECT_SOURCE_DIR}/samples/ArgumentParser.java
|
||||||
|
OUTPUT_NAME ${sample_name}
|
||||||
|
OUTPUT_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||||
|
INCLUDE_JARS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/* ${java_opencv_src})
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
15
inference-engine/ie_bridges/java/tests/CMakeLists.txt
Normal file
15
inference-engine/ie_bridges/java/tests/CMakeLists.txt
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# Copyright (C) 2020 Intel Corporation
|
||||||
|
|
||||||
|
file(DOWNLOAD https://search.maven.org/remotecontent?filepath=junit/junit/4.13/junit-4.13.jar
|
||||||
|
${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/junit-4.13.jar)
|
||||||
|
file(DOWNLOAD https://search.maven.org/remotecontent?filepath=org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
|
||||||
|
${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/hamcrest-core-1.3.jar)
|
||||||
|
|
||||||
|
file(GLOB_RECURSE java_tests_src ${CMAKE_CURRENT_SOURCE_DIR}/*.java)
|
||||||
|
add_jar(ie_java_api_tests_jar
|
||||||
|
SOURCES ${java_tests_src} ${PROJECT_SOURCE_DIR}/samples/ArgumentParser.java
|
||||||
|
OUTPUT_NAME ie_java_api_tests
|
||||||
|
OUTPUT_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||||
|
INCLUDE_JARS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/*)
|
||||||
|
|
||||||
|
add_dependencies(ie_java_api_tests_jar inference_engine_jar)
|
||||||
Reference in New Issue
Block a user