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:
parent
ce037da591
commit
f1cf207663
@ -1,64 +1,36 @@
|
||||
# Copyright (C) 2020 Intel Corporation
|
||||
|
||||
project(inference_engine_java_api)
|
||||
|
||||
# Find Java
|
||||
|
||||
find_package(Java REQUIRED)
|
||||
include(UseJava)
|
||||
|
||||
set(JAVA_AWT_INCLUDE_PATH NotNeeded)
|
||||
|
||||
project(inference_engine_java_api)
|
||||
|
||||
set(InferenceEngine_LIBRARIES inference_engine)
|
||||
|
||||
find_package(JNI REQUIRED)
|
||||
|
||||
file(GLOB_RECURSE sources cpp/*.cpp)
|
||||
add_library(${PROJECT_NAME} SHARED ${sources})
|
||||
# Build native part
|
||||
|
||||
file(GLOB_RECURSE java_source org/intel/openvino/*.java)
|
||||
add_jar(inference_engine_jar ${java_source}
|
||||
OUTPUT_NAME ${PROJECT_NAME}
|
||||
OUTPUT_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
||||
file(GLOB_RECURSE sources ${CMAKE_CURRENT_SOURCE_DIR}/cpp/*.cpp)
|
||||
|
||||
add_library(${PROJECT_NAME} SHARED ${sources})
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE inference_engine)
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${JNI_INCLUDE_DIRS})
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
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)
|
||||
# Build java part
|
||||
|
||||
file(GLOB_RECURSE java_tests_src tests/*.java)
|
||||
add_jar(ie_java_api_tests_jar
|
||||
SOURCES ${java_tests_src} samples/ArgumentParser.java
|
||||
OUTPUT_NAME ie_java_api_tests
|
||||
OUTPUT_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
INCLUDE_JARS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/*)
|
||||
file(GLOB_RECURSE java_source ${CMAKE_CURRENT_SOURCE_DIR}/org/intel/openvino/*.java)
|
||||
add_jar(inference_engine_jar ${java_source}
|
||||
OUTPUT_NAME ${PROJECT_NAME}
|
||||
OUTPUT_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
if(ENABLE_SAMPLES)
|
||||
find_package(OpenCV)
|
||||
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()
|
||||
add_subdirectory(samples)
|
||||
endif()
|
||||
|
@ -1,17 +1,12 @@
|
||||
## Software Requirements
|
||||
- openjdk 11
|
||||
- OpenJDK (version depends on target OS)
|
||||
|
||||
### Linux
|
||||
To install openjdk:
|
||||
To install OpenJDK:
|
||||
|
||||
* Ubuntu 18.04
|
||||
* Ubuntu systems:
|
||||
```bash
|
||||
sudo apt-get install -y openjdk-11-jdk
|
||||
```
|
||||
|
||||
* Ubuntu 16.04
|
||||
```bash
|
||||
sudo apt-get install -y openjdk-9-jdk
|
||||
sudo apt-get install -y default-jdk
|
||||
```
|
||||
|
||||
## 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)
|
Loading…
Reference in New Issue
Block a user