Skip to content

Commit b15a9d6

Browse files
committed
cmake: use copy_if_different
1 parent abf30e4 commit b15a9d6

File tree

6 files changed

+19
-19
lines changed

6 files changed

+19
-19
lines changed

cmake/OpenCVDetectAndroidSDK.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ macro(add_android_project target path)
240240
foreach(f ${android_proj_files})
241241
add_custom_command(
242242
OUTPUT "${android_proj_bin_dir}/${f}"
243-
COMMAND ${CMAKE_COMMAND} -E copy "${path}/${f}" "${android_proj_bin_dir}/${f}"
243+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${path}/${f}" "${android_proj_bin_dir}/${f}"
244244
MAIN_DEPENDENCY "${path}/${f}"
245245
COMMENT "Copying ${f}")
246246
list(APPEND android_proj_file_deps "${path}/${f}" "${android_proj_bin_dir}/${f}")
@@ -353,7 +353,7 @@ macro(add_android_project target path)
353353
set(__android_project_chain ${target} CACHE INTERNAL "auxiliary variable used for Android progects chaining")
354354

355355
# put the final .apk to the OpenCV's bin folder
356-
add_custom_command(TARGET ${target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${android_proj_bin_dir}/bin/${target}-debug.apk" "${OpenCV_BINARY_DIR}/bin/${target}.apk")
356+
add_custom_command(TARGET ${target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${android_proj_bin_dir}/bin/${target}-debug.apk" "${OpenCV_BINARY_DIR}/bin/${target}.apk")
357357
if(INSTALL_ANDROID_EXAMPLES AND "${target}" MATCHES "^example-")
358358
#apk
359359
install(FILES "${OpenCV_BINARY_DIR}/bin/${target}.apk" DESTINATION "samples" COMPONENT samples)

cmake/OpenCVPCHSupport.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ MACRO(ADD_PRECOMPILED_HEADER _targetName _input)
277277

278278
ADD_CUSTOM_COMMAND(
279279
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_name}"
280-
COMMAND ${CMAKE_COMMAND} -E copy "${_input}" "${CMAKE_CURRENT_BINARY_DIR}/${_name}" # ensure same directory! Required by gcc
280+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_input}" "${CMAKE_CURRENT_BINARY_DIR}/${_name}" # ensure same directory! Required by gcc
281281
DEPENDS "${_input}"
282282
)
283283

modules/java/CMakeLists.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ macro(copy_common_tests _src_location _dst_location _deps)
8181
foreach(f ${_files})
8282
add_custom_command(
8383
OUTPUT "${_dst}/${f}"
84-
COMMAND ${CMAKE_COMMAND} -E copy "${_src}/${f}" "${_dst}/${f}"
84+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_src}/${f}" "${_dst}/${f}"
8585
MAIN_DEPENDENCY "${_src}/${f}"
8686
COMMENT "Copying ${f}")
8787
list(APPEND ${_deps} "${_src}/${f}" "${_dst}/${f}")
@@ -102,7 +102,7 @@ macro(copy_modules_tests _modules _dst_location _deps)
102102
foreach (f ${_files})
103103
add_custom_command(
104104
OUTPUT "${_dst}/${_tree}/${f}"
105-
COMMAND ${CMAKE_COMMAND} -E copy "${_src}/${f}" "${_dst}/${_tree}/${f}"
105+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_src}/${f}" "${_dst}/${_tree}/${f}"
106106
MAIN_DEPENDENCY "${_src}/${f}"
107107
COMMENT "Copying ${f}")
108108
list(APPEND ${_deps} "${_src}/${f}" "${_dst}/${_tree}/${f}")
@@ -208,7 +208,7 @@ foreach(java_file ${step3_input_files})
208208
string(REPLACE "+" "/" java_file_name "${java_file_name}")
209209
set(output_name "${OpenCV_BINARY_DIR}/src/org/opencv/${java_file_name}")
210210
add_custom_command(OUTPUT "${output_name}"
211-
COMMAND ${CMAKE_COMMAND} -E copy "${java_file}" "${output_name}"
211+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${java_file}" "${output_name}"
212212
MAIN_DEPENDENCY "${java_file}"
213213
DEPENDS ${step1_depends} ${generated_java_sources} ${handwritten_java_sources}
214214
COMMENT "Generating src/org/opencv/${java_file_name}"
@@ -239,7 +239,7 @@ if(ANDROID)
239239
foreach(jni_file ${handwritten_cpp_sources} ${handwritten_h_sources} ${generated_cpp_sources})
240240
get_filename_component(jni_file_name "${jni_file}" NAME)
241241
add_custom_command(OUTPUT "${OpenCV_BINARY_DIR}/jni/${jni_file_name}"
242-
COMMAND ${CMAKE_COMMAND} -E copy "${jni_file}" "${OpenCV_BINARY_DIR}/jni/${jni_file_name}"
242+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${jni_file}" "${OpenCV_BINARY_DIR}/jni/${jni_file_name}"
243243
DEPENDS "${jni_file}" ${java_hdr_deps}
244244
COMMENT "Generating jni/${jni_file_name}"
245245
)
@@ -257,9 +257,9 @@ if(ANDROID AND ANDROID_EXECUTABLE)
257257

258258
add_custom_command(OUTPUT ${lib_target_files} "${OpenCV_BINARY_DIR}/${ANDROID_MANIFEST_FILE}"
259259
COMMAND ${CMAKE_COMMAND} -E remove ${lib_target_files}
260-
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${ANDROID_MANIFEST_FILE}" "${OpenCV_BINARY_DIR}/${ANDROID_MANIFEST_FILE}"
260+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_BINARY_DIR}/${ANDROID_MANIFEST_FILE}" "${OpenCV_BINARY_DIR}/${ANDROID_MANIFEST_FILE}"
261261
COMMAND ${ANDROID_EXECUTABLE} --silent create lib-project --path \"${OpenCV_BINARY_DIR}\" --target \"${lib_target_sdk_target}\" --name OpenCV --package org.opencv 2>\"${CMAKE_CURRENT_BINARY_DIR}/create_lib_project.log\"
262-
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${ANDROID_MANIFEST_FILE}" "${OpenCV_BINARY_DIR}/${ANDROID_MANIFEST_FILE}"
262+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_BINARY_DIR}/${ANDROID_MANIFEST_FILE}" "${OpenCV_BINARY_DIR}/${ANDROID_MANIFEST_FILE}"
263263
MAIN_DEPENDENCY "${CMAKE_CURRENT_BINARY_DIR}/${ANDROID_MANIFEST_FILE}"
264264
DEPENDS ${android_step3_input_files} ${android_copied_files}
265265
COMMENT "Generating OpenCV Android library project. SDK target: ${lib_target_sdk_target}"

modules/java/android_test/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ file(GLOB_RECURSE test_files RELATIVE "${test_dir}" "${test_dir}/res/*" "${test_
2121
foreach(f ${test_files} ${ANDROID_MANIFEST_FILE} ".classpath" ".project")
2222
add_custom_command(
2323
OUTPUT "${opencv_test_java_bin_dir}/${f}"
24-
COMMAND ${CMAKE_COMMAND} -E copy "${test_dir}/${f}" "${opencv_test_java_bin_dir}/${f}"
24+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${test_dir}/${f}" "${opencv_test_java_bin_dir}/${f}"
2525
MAIN_DEPENDENCY "${test_dir}/${f}"
2626
COMMENT "Copying ${f}")
2727
list(APPEND opencv_test_java_file_deps "${test_dir}/${f}" "${opencv_test_java_bin_dir}/${f}")
@@ -49,7 +49,7 @@ get_filename_component(java_name "${java_location}" NAME)
4949
# build java part
5050
add_custom_command(
5151
OUTPUT "${opencv_test_java_bin_dir}/bin/OpenCVTest-debug.apk"
52-
COMMAND ${CMAKE_COMMAND} -E copy "${java_location}" "${opencv_test_java_bin_dir}/libs/${ANDROID_NDK_ABI_NAME}/${java_name}"
52+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${java_location}" "${opencv_test_java_bin_dir}/libs/${ANDROID_NDK_ABI_NAME}/${java_name}"
5353
COMMAND ${ANT_EXECUTABLE} -q -noinput -k debug
5454
COMMAND ${CMAKE_COMMAND} -E touch "${opencv_test_java_bin_dir}/bin/OpenCVTest-debug.apk" # needed because ant does not update the timestamp of updated apk
5555
WORKING_DIRECTORY "${opencv_test_java_bin_dir}"
@@ -62,7 +62,7 @@ add_dependencies(${PROJECT_NAME} opencv_java ${__android_project_chain})
6262
set(__android_project_chain ${PROJECT_NAME} CACHE INTERNAL "auxiliary variable used for Android progects chaining" FORCE)
6363

6464
# put the final .apk to the OpenCV's bin folder
65-
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${opencv_test_java_bin_dir}/bin/OpenCVTest-debug.apk" "${OpenCV_BINARY_DIR}/bin/${PROJECT_NAME}.apk")
65+
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${opencv_test_java_bin_dir}/bin/OpenCVTest-debug.apk" "${OpenCV_BINARY_DIR}/bin/${PROJECT_NAME}.apk")
6666

6767
add_dependencies(opencv_tests ${PROJECT_NAME})
6868

modules/java/pure_test/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ file(GLOB_RECURSE test_files RELATIVE "${test_dir}" "${test_dir}/src/*")
2424
file(GLOB_RECURSE test_lib_files RELATIVE "${test_dir}" "${test_dir}/lib/*.jar")
2525
foreach(f ${test_files} ${test_lib_files})
2626
add_custom_command(OUTPUT "${opencv_test_java_bin_dir}/${f}"
27-
COMMAND ${CMAKE_COMMAND} -E copy "${test_dir}/${f}" "${opencv_test_java_bin_dir}/${f}"
27+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${test_dir}/${f}" "${opencv_test_java_bin_dir}/${f}"
2828
DEPENDS "${test_dir}/${f}"
2929
COMMENT "Copying ${f}"
3030
)
@@ -33,13 +33,13 @@ endforeach()
3333

3434
# Copy the OpenCV jar after it has been generated.
3535
add_custom_command(OUTPUT "${opencv_test_java_bin_dir}/bin/${JAR_NAME}"
36-
COMMAND ${CMAKE_COMMAND} -E copy "${JAR_FILE}" "${opencv_test_java_bin_dir}/bin/${JAR_NAME}"
36+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${JAR_FILE}" "${opencv_test_java_bin_dir}/bin/${JAR_NAME}"
3737
DEPENDS "${JAR_FILE}"
3838
COMMENT "Copying the OpenCV jar"
3939
)
4040

4141
add_custom_command(OUTPUT "${opencv_test_java_bin_dir}/build.xml"
42-
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/build.xml" "${opencv_test_java_bin_dir}/build.xml"
42+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/build.xml" "${opencv_test_java_bin_dir}/build.xml"
4343
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/build.xml"
4444
COMMENT "Copying build.xml"
4545
)

modules/videoio/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -249,16 +249,16 @@ if(WIN32 AND WITH_FFMPEG)
249249

250250
if(MSVC_IDE)
251251
add_custom_command(TARGET ${the_module} POST_BUILD
252-
COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/Release/${ffmpeg_bare_name_ver}"
253-
COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/Debug/${ffmpeg_bare_name_ver}"
252+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/Release/${ffmpeg_bare_name_ver}"
253+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/Debug/${ffmpeg_bare_name_ver}"
254254
COMMENT "Copying ${ffmpeg_path} to the output directory")
255255
elseif(MSVC AND (CMAKE_GENERATOR MATCHES "Visual"))
256256
add_custom_command(TARGET ${the_module} POST_BUILD
257-
COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/${ffmpeg_bare_name_ver}"
257+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/${ffmpeg_bare_name_ver}"
258258
COMMENT "Copying ${ffmpeg_path} to the output directory")
259259
else()
260260
add_custom_command(TARGET ${the_module} POST_BUILD
261-
COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/${ffmpeg_bare_name_ver}"
261+
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/${ffmpeg_bare_name_ver}"
262262
COMMENT "Copying ${ffmpeg_path} to the output directory")
263263
endif()
264264

0 commit comments

Comments
 (0)