From 3611396c0bc1b8d6e157a7687fbade3e04c1f4bd Mon Sep 17 00:00:00 2001 From: tribta Date: Mon, 26 Jun 2017 16:24:10 +0100 Subject: [PATCH 1/2] Compiling the Java tutorials codes using Apache Ant. --- samples/CMakeLists.txt | 3 ++ samples/java/tutorial_code/CMakeLists.txt | 40 +++++++++++++++++++++++ samples/java/tutorial_code/build.xml | 13 ++++++++ 3 files changed, 56 insertions(+) create mode 100644 samples/java/tutorial_code/CMakeLists.txt create mode 100644 samples/java/tutorial_code/build.xml diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt index b1f98e969d..34cb578a10 100644 --- a/samples/CMakeLists.txt +++ b/samples/CMakeLists.txt @@ -11,6 +11,7 @@ if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_LIST_DIR) # ---------------------------------------------------------------------------- add_subdirectory(cpp) +add_subdirectory(java/tutorial_code) add_subdirectory(gpu) add_subdirectory(tapi) @@ -78,6 +79,8 @@ endif() add_subdirectory(cpp) # FIXIT: can't use cvconfig.h in samples: add_subdirectory(gpu) +add_subdirectory(java/tutorial_code) + add_subdirectory(opencl) if(WIN32) diff --git a/samples/java/tutorial_code/CMakeLists.txt b/samples/java/tutorial_code/CMakeLists.txt new file mode 100644 index 0000000000..e301cf254f --- /dev/null +++ b/samples/java/tutorial_code/CMakeLists.txt @@ -0,0 +1,40 @@ +# ---------------------------------------------------------------------------- +# CMake file for Java tutorials compilation. +# +# ---------------------------------------------------------------------------- +if(NOT ANT_EXECUTABLE) + return() +endif() + +project(compile_java_tutorials) + +set(curdir "${CMAKE_CURRENT_SOURCE_DIR}") +set(opencv_tutorial_java_bin_dir "${CMAKE_CURRENT_BINARY_DIR}/.compiled") +set(target_name "compile_java_tutorials") +set(TUTORIALS_DIRS "") + +FILE(GLOB children RELATIVE ${curdir} ${curdir}/*/*) +FOREACH(child ${children}) + if(IS_DIRECTORY ${curdir}/${child}) + FILE(GLOB contains_java_files "${child}/*.java") + if(contains_java_files) + LIST(APPEND TUTORIALS_DIRS ${child}) + endif() + endif() +ENDFOREACH() + +add_custom_target("${target_name}" ALL + DEPENDS opencv_java + ) + +FOREACH(tutorial_dir ${TUTORIALS_DIRS}) + get_filename_component(tutorial_name ${tutorial_dir} NAME_WE) + add_custom_command(TARGET "${target_name}" + COMMAND ${ANT_EXECUTABLE} -q + -DocvJarDir="${OpenCV_BINARY_DIR}/bin" + -DsrcDir="${tutorial_dir}" + -DdstDir="${opencv_tutorial_java_bin_dir}/${tutorial_name}" + WORKING_DIRECTORY "${curdir}" + COMMENT "Compile the tutorial: ${tutorial_name}" + ) +ENDFOREACH() diff --git a/samples/java/tutorial_code/build.xml b/samples/java/tutorial_code/build.xml new file mode 100644 index 0000000000..4bba3c97f6 --- /dev/null +++ b/samples/java/tutorial_code/build.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + From 98849151a2123d933fb3e867a302c02335e8cd8c Mon Sep 17 00:00:00 2001 From: tribta Date: Tue, 27 Jun 2017 18:39:32 +0100 Subject: [PATCH 2/2] formating style and making changes accordingly to review --- samples/CMakeLists.txt | 2 -- samples/java/tutorial_code/CMakeLists.txt | 29 +++++++++++------------ 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt index ed720f800f..1ce0489f1a 100644 --- a/samples/CMakeLists.txt +++ b/samples/CMakeLists.txt @@ -83,8 +83,6 @@ add_subdirectory(cpp) add_subdirectory(dnn) # FIXIT: can't use cvconfig.h in samples: add_subdirectory(gpu) -add_subdirectory(java/tutorial_code) - add_subdirectory(opencl) if(WIN32) diff --git a/samples/java/tutorial_code/CMakeLists.txt b/samples/java/tutorial_code/CMakeLists.txt index e301cf254f..31424f956b 100644 --- a/samples/java/tutorial_code/CMakeLists.txt +++ b/samples/java/tutorial_code/CMakeLists.txt @@ -2,7 +2,7 @@ # CMake file for Java tutorials compilation. # # ---------------------------------------------------------------------------- -if(NOT ANT_EXECUTABLE) +if(NOT ANT_EXECUTABLE OR NOT TARGET opencv_java) return() endif() @@ -10,31 +10,30 @@ project(compile_java_tutorials) set(curdir "${CMAKE_CURRENT_SOURCE_DIR}") set(opencv_tutorial_java_bin_dir "${CMAKE_CURRENT_BINARY_DIR}/.compiled") -set(target_name "compile_java_tutorials") set(TUTORIALS_DIRS "") -FILE(GLOB children RELATIVE ${curdir} ${curdir}/*/*) -FOREACH(child ${children}) +file(GLOB children RELATIVE ${curdir} ${curdir}/*/*) +foreach(child ${children}) if(IS_DIRECTORY ${curdir}/${child}) - FILE(GLOB contains_java_files "${child}/*.java") + file(GLOB contains_java_files "${child}/*.java") if(contains_java_files) - LIST(APPEND TUTORIALS_DIRS ${child}) + list(APPEND TUTORIALS_DIRS ${child}) endif() endif() -ENDFOREACH() +endforeach() -add_custom_target("${target_name}" ALL +add_custom_target("${PROJECT_NAME}" DEPENDS opencv_java ) -FOREACH(tutorial_dir ${TUTORIALS_DIRS}) - get_filename_component(tutorial_name ${tutorial_dir} NAME_WE) - add_custom_command(TARGET "${target_name}" +foreach(TUTORIAL_DIR ${TUTORIALS_DIRS}) + get_filename_component(TUTORIAL_NAME ${TUTORIAL_DIR} NAME_WE) + add_custom_command(TARGET "${PROJECT_NAME}" COMMAND ${ANT_EXECUTABLE} -q -DocvJarDir="${OpenCV_BINARY_DIR}/bin" - -DsrcDir="${tutorial_dir}" - -DdstDir="${opencv_tutorial_java_bin_dir}/${tutorial_name}" + -DsrcDir="${TUTORIAL_DIR}" + -DdstDir="${opencv_tutorial_java_bin_dir}/${TUTORIAL_NAME}" WORKING_DIRECTORY "${curdir}" - COMMENT "Compile the tutorial: ${tutorial_name}" + COMMENT "Compile the tutorial: ${TUTORIAL_NAME}" ) -ENDFOREACH() +endforeach()