Skip to content

Commit 572a7bf

Browse files
committed
python: add special targets gen_opencv_python2(3)
1 parent 200c8a0 commit 572a7bf

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

modules/python/common.cmake

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,28 @@ set(cv2_generated_hdrs
4848
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_funcs.h"
4949
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_types.h"
5050
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_type_reg.h"
51-
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_ns_reg.h")
51+
"${CMAKE_CURRENT_BINARY_DIR}/pyopencv_generated_ns_reg.h"
52+
)
53+
54+
set(OPENCV_${PYTHON}_SIGNATURES_FILE "${CMAKE_CURRENT_BINARY_DIR}/pyopencv_signatures.json" CACHE INTERNAL "")
55+
56+
set(cv2_generated_files ${cv2_generated_hdrs}
57+
"${OPENCV_${PYTHON}_SIGNATURES_FILE}"
58+
)
5259

5360
string(REPLACE ";" "\n" opencv_hdrs_ "${opencv_hdrs}")
5461
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/headers.txt" "${opencv_hdrs_}")
5562
add_custom_command(
56-
OUTPUT ${cv2_generated_hdrs}
57-
COMMAND ${PYTHON_DEFAULT_EXECUTABLE} "${PYTHON_SOURCE_DIR}/src2/gen2.py" ${CMAKE_CURRENT_BINARY_DIR} "${CMAKE_CURRENT_BINARY_DIR}/headers.txt" "${PYTHON}"
58-
DEPENDS ${PYTHON_SOURCE_DIR}/src2/gen2.py
59-
DEPENDS ${PYTHON_SOURCE_DIR}/src2/hdr_parser.py
60-
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/headers.txt
61-
DEPENDS ${opencv_hdrs})
63+
OUTPUT ${cv2_generated_files}
64+
COMMAND ${PYTHON_DEFAULT_EXECUTABLE} "${PYTHON_SOURCE_DIR}/src2/gen2.py" ${CMAKE_CURRENT_BINARY_DIR} "${CMAKE_CURRENT_BINARY_DIR}/headers.txt" "${PYTHON}"
65+
DEPENDS ${PYTHON_SOURCE_DIR}/src2/gen2.py
66+
DEPENDS ${PYTHON_SOURCE_DIR}/src2/hdr_parser.py
67+
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/headers.txt
68+
DEPENDS ${opencv_hdrs}
69+
COMMENT "Generate files for ${the_module}"
70+
)
71+
72+
add_custom_target(gen_${the_module} DEPENDS ${cv2_generated_files})
6273

6374
set(cv2_custom_hdr "${CMAKE_CURRENT_BINARY_DIR}/pyopencv_custom_headers.h")
6475
file(WRITE ${cv2_custom_hdr} "//user-defined headers\n")
@@ -67,6 +78,7 @@ foreach(uh ${opencv_userdef_hdrs})
6778
endforeach(uh)
6879

6980
ocv_add_library(${the_module} MODULE ${PYTHON_SOURCE_DIR}/src2/cv2.cpp ${cv2_generated_hdrs} ${opencv_userdef_hdrs} ${cv2_custom_hdr})
81+
add_dependencies(${the_module} gen_${the_module})
7082

7183
if(APPLE)
7284
set_target_properties(${the_module} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")

0 commit comments

Comments
 (0)