mirror of
https://github.com/opencv/opencv.git
synced 2025-06-09 18:43:05 +08:00
cmake: eliminate ninja generator warning (CMake 3.10), refactor code
This commit is contained in:
parent
f0453bd853
commit
59c6661db0
@ -38,15 +38,12 @@ ocv_list_filterout(opencv_hdrs "modules/.*_inl\\\\.h*")
|
|||||||
ocv_list_filterout(opencv_hdrs "modules/.*\\\\.details\\\\.h*")
|
ocv_list_filterout(opencv_hdrs "modules/.*\\\\.details\\\\.h*")
|
||||||
ocv_list_filterout(opencv_hdrs "modules/.*/detection_based_tracker\\\\.hpp") # Conditional compilation
|
ocv_list_filterout(opencv_hdrs "modules/.*/detection_based_tracker\\\\.hpp") # Conditional compilation
|
||||||
|
|
||||||
set(cv2_generated_hdrs
|
set(cv2_generated_files
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_include.h"
|
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_include.h"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_funcs.h"
|
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_funcs.h"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_types.h"
|
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_types.h"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_type_reg.h"
|
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_type_reg.h"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_ns_reg.h"
|
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_ns_reg.h"
|
||||||
)
|
|
||||||
|
|
||||||
set(cv2_generated_files ${cv2_generated_hdrs}
|
|
||||||
"${OPENCV_PYTHON_SIGNATURES_FILE}"
|
"${OPENCV_PYTHON_SIGNATURES_FILE}"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -54,18 +51,29 @@ string(REPLACE ";" "\n" opencv_hdrs_ "${opencv_hdrs}")
|
|||||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/headers.txt" "${opencv_hdrs_}")
|
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/headers.txt" "${opencv_hdrs_}")
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${cv2_generated_files}
|
OUTPUT ${cv2_generated_files}
|
||||||
COMMAND ${PYTHON_DEFAULT_EXECUTABLE} "${PYTHON_SOURCE_DIR}/src2/gen2.py" ${CMAKE_CURRENT_BINARY_DIR} "${CMAKE_CURRENT_BINARY_DIR}/headers.txt"
|
COMMAND "${PYTHON_DEFAULT_EXECUTABLE}" "${PYTHON_SOURCE_DIR}/src2/gen2.py" "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/headers.txt"
|
||||||
DEPENDS ${PYTHON_SOURCE_DIR}/src2/gen2.py
|
DEPENDS "${PYTHON_SOURCE_DIR}/src2/gen2.py"
|
||||||
DEPENDS ${PYTHON_SOURCE_DIR}/src2/hdr_parser.py
|
"${PYTHON_SOURCE_DIR}/src2/hdr_parser.py"
|
||||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/headers.txt
|
# not a real build dependency (file(WRITE) result): ${CMAKE_CURRENT_BINARY_DIR}/headers.txt
|
||||||
DEPENDS ${opencv_hdrs}
|
${opencv_hdrs}
|
||||||
COMMENT "Generate files for Python bindings and documentation"
|
COMMENT "Generate files for Python bindings and documentation"
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(gen_opencv_python_source DEPENDS ${cv2_generated_files})
|
add_custom_target(gen_opencv_python_source DEPENDS ${cv2_generated_files})
|
||||||
|
|
||||||
set(cv2_custom_hdr "${CMAKE_CURRENT_BINARY_DIR}/pyopencv_custom_headers.h")
|
set(cv2_custom_hdr "${CMAKE_CURRENT_BINARY_DIR}/pyopencv_custom_headers.h")
|
||||||
file(WRITE ${cv2_custom_hdr} "//user-defined headers\n")
|
set(cv2_custom_hdr_str "//user-defined headers\n")
|
||||||
foreach(uh ${opencv_userdef_hdrs})
|
foreach(uh ${opencv_userdef_hdrs})
|
||||||
file(APPEND ${cv2_custom_hdr} "#include \"${uh}\"\n")
|
set(cv2_custom_hdr_str "${cv2_custom_hdr_str}#include \"${uh}\"\n")
|
||||||
endforeach(uh)
|
endforeach(uh)
|
||||||
|
if(EXISTS "${cv2_custom_hdr}")
|
||||||
|
file(READ "${cv2_custom_hdr}" __content)
|
||||||
|
else()
|
||||||
|
set(__content "")
|
||||||
|
endif()
|
||||||
|
if("${__content}" STREQUAL "${cv2_custom_hdr_str}")
|
||||||
|
# Up-to-date
|
||||||
|
else()
|
||||||
|
file(WRITE "${cv2_custom_hdr}" "${cv2_custom_hdr_str}")
|
||||||
|
endif()
|
||||||
|
unset(__content)
|
||||||
|
Loading…
Reference in New Issue
Block a user