Address bug building remote modules against an ITK build directory#5842
Address bug building remote modules against an ITK build directory#5842blowekamp wants to merge 6 commits intoInsightSoftwareConsortium:mainfrom
Conversation
|
Sorry for short message, issue mostly redundant include with ITK_INCLUDE_DIRS, and target's transitive properties. Needed to keep ITK_INCLUDE_DIRS because of itkMeshRegion.h in Core/Common. The extra inc files are redundant. |
a643386 to
7722e15
Compare
| @@ -1,3 +1,4 @@ | |||
| set(ITK_MODULE_ITKCommon_WRAPPING_DEPENDS ITK::ITKMeshModule) | |||
There was a problem hiding this comment.
@thewtex There needs to be a way to express that the wrapping for common depends on the Mesh module, or the mesh code needs to be moved to a better place. This follows the convention of (internal?) variable used in ModuleMacro... I wasn't sure if other models had un-described dependencies for wrapping, but it appears not. I am still pondering better ways to specify this for wrapping; I am open to suggestions?
There was a problem hiding this comment.
Yes, I don't recall the history or the reason for this. Maybe we can ask an agent to try to simplify the dependencies?
There was a problem hiding this comment.
I have asked my local agent many questions regarding the wrapping code it figure things out. I ended up just hard coding the dep in the TypedefMacros.cmake file. Perhaps this can be revisited after this is merged and remotes are working again for wrapping.
There was a problem hiding this comment.
Apparently, it has been there since pre-modularization before 2011, and it was trivial to relocate.
Use generator expression to convert target property into properly formatted string for include file. Change to file with GENERATE option to support generator expressions. There were redundant calls to configure the inc file for each wrapping file. An additional prefix is added to the inc file to create multiple.
But link publicly to Python to keep include paths for pyImageFilter. Use a forward declaration of PyObject, to move the inclusion of the Python.h header to the cxx file.
Specifically compile definitions and include directories are not long obtained from the directory.
7722e15 to
12250d9
Compare
| set( | ||
| CONFIG_CASTXML_INC_CONTENTS | ||
| "${CONFIG_CASTXML_INC_CONTENTS}$<LIST:JOIN,$<LIST:TRANSFORM,$<TARGET_PROPERTY:${_depend},INTERFACE_COMPILE_DEFINITIONS>,REPLACE,^(.+)$,\"-D\\1\">,\n>\n" | ||
| ) |
|
Cool! 😎 I recall that we had code to remove redundant include directories -- hopefully this helps with that, too. |
Use generator expression to convert target property into properly formatted string for include file. Change to file with GENERATE option to support generator expressions.
There were redundant calls to configure the inc file for each wrapping file. An additional prefix is added to the inc file to create multiple.
This addresses a bug where remote modules could not be wrapped against a build ITK due to missing include paths and definitions.
PR Checklist
Refer to the ITK Software Guide for
further development details if necessary.