@@ -315,9 +315,14 @@ macro(itk_end_wrap_module_swig_interface)
315
315
set (mdx_file "${WRAPPER_MASTER_INDEX_OUTPUT_DIR} /${WRAPPER_LIBRARY_NAME} .mdx" )
316
316
set (module_interface_file "${WRAPPER_MASTER_INDEX_OUTPUT_DIR} /${WRAPPER_LIBRARY_NAME} .i" )
317
317
set (module_interface_ext_file "${WRAPPER_MASTER_INDEX_OUTPUT_DIR} /${WRAPPER_LIBRARY_NAME} _ext.i" )
318
- set (ITK_STUB_DIR "${ITK_DIR} /Wrapping/Generators/Python/itk-stubs" )
319
318
320
- set (ITK_STUB_PYI_FILES )
319
+ if (${module_prefix} _WRAP_PYTHON )
320
+ set (ITK_STUB_DIR "${ITK_DIR} /Wrapping/Generators/Python/itk-stubs" )
321
+ set (ITK_STUB_PYI_FILES )
322
+ else ()
323
+ unset (ITK_STUB_DIR )
324
+ unset (ITK_STUB_PYI_FILES )
325
+ endif ()
321
326
322
327
foreach (module ${SWIG_INTERFACE_MODULES} )
323
328
# create the swig interface
@@ -326,7 +331,9 @@ macro(itk_end_wrap_module_swig_interface)
326
331
list (APPEND idx_files "${WRAPPER_MASTER_INDEX_OUTPUT_DIR} /${module} .idx" )
327
332
list (APPEND typedef_in_files "${WRAPPER_LIBRARY_OUTPUT_DIR} /${module} SwigInterface.h.in" )
328
333
list (APPEND typedef_files "${WRAPPER_MASTER_INDEX_OUTPUT_DIR} /${module} SwigInterface.h" )
329
- list (APPEND ITK_STUB_PYI_FILES "${ITK_STUB_DIR} /${module} .pyi" )
334
+ if (${module_prefix} _WRAP_PYTHON )
335
+ list (APPEND ITK_STUB_PYI_FILES "${ITK_STUB_DIR} /${module} .pyi" )
336
+ endif ()
330
337
331
338
332
339
if (${module_prefix} _WRAP_EXPLICIT )
@@ -354,7 +361,10 @@ macro(itk_end_wrap_module_swig_interface)
354
361
355
362
list (LENGTH i_files number_interface_files )
356
363
if (number_interface_files GREATER 0 )
364
+
357
365
if (${module_prefix} _WRAP_PYTHON )
366
+ set (ITK_STUB_DIR "${ITK_DIR} /Wrapping/Generators/Python/itk-stubs" )
367
+ set (ITK_STUB_PYI_FILE "${ITK_STUB_DIR} /${WRAPPER_LIBRARY_NAME} .pyi" )
358
368
# NOTE: snake_case_config_file is both an input and an output to this command.
359
369
# the ${IGENERATOR} script appends to this file.
360
370
# NOTE: The Configuration files should be placed in the itk package directory.
@@ -363,28 +373,46 @@ macro(itk_end_wrap_module_swig_interface)
363
373
)
364
374
set (snake_case_config_file
365
375
"${ITK_WRAP_PYTHON_SNAKE_CONFIG_DIR} /${WRAPPER_LIBRARY_NAME} _snake_case.py" )
376
+ add_custom_command (
377
+ OUTPUT ${i_files} ${typedef_files} ${idx_files} ${snake_case_config_file} ${ITK_STUB_PYI_FILES}
378
+ COMMAND ${Python3_EXECUTABLE} ${IGENERATOR}
379
+ ${mdx_opts}
380
+ ${swig_libs}
381
+ -w1 -w3 -w51 -w52 -w53 -w54
382
+ -A protected -A private
383
+ -p ${PYGCCXML_DIR}
384
+ -g ${CASTXML_EXECUTABLE}
385
+ --snake-case-file "${snake_case_config_file} "
386
+ --interface-output-dir "${WRAPPER_MASTER_INDEX_OUTPUT_DIR} "
387
+ --library-output-dir "${WRAPPER_LIBRARY_OUTPUT_DIR} "
388
+ --submodule-order "${WRAPPER_SUBMODULE_ORDER} "
389
+ --pyi_dir "${ITK_STUB_DIR} "
390
+ DEPENDS ${ITK_WRAP_DOC_DOCSTRING_FILES} ${xml_files} ${IGENERATOR} ${typedef_in_files}
391
+ WORKING_DIRECTORY / # Arguments to WORKING_DIRECTORY may use generator expressions
392
+ VERBATIM
393
+ )
366
394
else ()
395
+ unset (ITK_STUB_DIR )
396
+ unset (ITK_STUB_PYI_FILE )
367
397
unset (snake_case_config_file )
398
+ add_custom_command (
399
+ OUTPUT ${i_files} ${typedef_files} ${idx_files}
400
+ COMMAND ${Python3_EXECUTABLE} ${IGENERATOR}
401
+ ${mdx_opts}
402
+ ${swig_libs}
403
+ -w1 -w3 -w51 -w52 -w53 -w54
404
+ -A protected -A private
405
+ -p ${PYGCCXML_DIR}
406
+ -g ${CASTXML_EXECUTABLE}
407
+ --interface-output-dir "${WRAPPER_MASTER_INDEX_OUTPUT_DIR} "
408
+ --library-output-dir "${WRAPPER_LIBRARY_OUTPUT_DIR} "
409
+ --submodule-order "${WRAPPER_SUBMODULE_ORDER} "
410
+ DEPENDS ${ITK_WRAP_DOC_DOCSTRING_FILES} ${xml_files} ${IGENERATOR} ${typedef_in_files}
411
+ WORKING_DIRECTORY / # Arguments to WORKING_DIRECTORY may use generator expressions
412
+ VERBATIM
413
+ )
368
414
endif ()
369
415
370
- add_custom_command (
371
- OUTPUT ${i_files} ${typedef_files} ${idx_files} ${snake_case_config_file} ${ITK_STUB_PYI_FILES}
372
- COMMAND ${Python3_EXECUTABLE} ${IGENERATOR}
373
- ${mdx_opts}
374
- ${swig_libs}
375
- -w1 -w3 -w51 -w52 -w53 -w54
376
- -A protected -A private
377
- -p ${PYGCCXML_DIR}
378
- -g ${CASTXML_EXECUTABLE}
379
- --snake-case-file "${snake_case_config_file} "
380
- --interface-output-dir "${WRAPPER_MASTER_INDEX_OUTPUT_DIR} "
381
- --library-output-dir "${WRAPPER_LIBRARY_OUTPUT_DIR} "
382
- --submodule-order "${WRAPPER_SUBMODULE_ORDER} "
383
- --pyi_dir "${ITK_STUB_DIR} "
384
- DEPENDS ${ITK_WRAP_DOC_DOCSTRING_FILES} ${xml_files} ${IGENERATOR} ${typedef_in_files}
385
- WORKING_DIRECTORY / # Arguments to WORKING_DIRECTORY may use generator expressions
386
- VERBATIM
387
- )
388
416
endif ()
389
417
390
418
# the ${WRAPPER_LIBRARY_NAME}Swig target
0 commit comments