Skip to content

Commit 71f4281

Browse files
committed
Merge pull request opencv#10473 from alalek:cmake_version_string_timestamp
2 parents 30373d2 + 4bd1e3d commit 71f4281

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

cmake/OpenCVUtils.cmake

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -519,16 +519,29 @@ endmacro()
519519

520520
if(NOT DEFINED CMAKE_ARGC) # Guard CMake standalone invocations
521521

522-
set(OPENCV_BUILD_INFO_FILE "${CMAKE_BINARY_DIR}/version_string.tmp")
523-
file(REMOVE "${OPENCV_BUILD_INFO_FILE}")
522+
set(OPENCV_BUILD_INFO_STR "" CACHE INTERNAL "")
524523
function(ocv_output_status msg)
525524
message(STATUS "${msg}")
526525
string(REPLACE "\\" "\\\\" msg "${msg}")
527526
string(REPLACE "\"" "\\\"" msg "${msg}")
528-
file(APPEND "${OPENCV_BUILD_INFO_FILE}" "\"${msg}\\n\"\n")
527+
set(OPENCV_BUILD_INFO_STR "${OPENCV_BUILD_INFO_STR}\"${msg}\\n\"\n" CACHE INTERNAL "")
529528
endfunction()
530529

531530
macro(ocv_finalize_status)
531+
set(OPENCV_BUILD_INFO_FILE "${CMAKE_BINARY_DIR}/version_string.tmp")
532+
if(EXISTS "${OPENCV_BUILD_INFO_FILE}")
533+
file(READ "${OPENCV_BUILD_INFO_FILE}" __content)
534+
else()
535+
set(__content "")
536+
endif()
537+
if("${__content}" STREQUAL "${OPENCV_BUILD_INFO_STR}")
538+
#message(STATUS "${OPENCV_BUILD_INFO_FILE} contains the same content")
539+
else()
540+
file(WRITE "${OPENCV_BUILD_INFO_FILE}" "${OPENCV_BUILD_INFO_STR}")
541+
endif()
542+
unset(__content)
543+
unset(OPENCV_BUILD_INFO_STR CACHE)
544+
532545
if(NOT OPENCV_SKIP_STATUS_FINALIZATION)
533546
if(DEFINED OPENCV_MODULE_opencv_core_BINARY_DIR)
534547
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${OPENCV_BUILD_INFO_FILE}" "${OPENCV_MODULE_opencv_core_BINARY_DIR}/version_string.inc" OUTPUT_QUIET)

0 commit comments

Comments
 (0)