-
-
Notifications
You must be signed in to change notification settings - Fork 675
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENH: Force modern python3 find package and install of .pyi files #3560
ENH: Force modern python3 find package and install of .pyi files #3560
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some in-line comments.
a8b0df7
to
335a6b0
Compare
"\ingroup ITKMesh" not set in class TriangleMeshCurvatureCalculatorEnum.
ITK/Modules/Filtering/ImageGradient/include/itkGradientRecursiveGaussianImageFilter.hxx: In member function ‘GenerateData’: ITK/Modules/Core/Common/include/itkDefaultPixelAccessor.h:72:5: warning: ‘MEM[(const struct CovariantVector &)&correctedGradient + 12]’ may be used uninitialized in this function [-Wmaybe-uninitialized] 72 | output = input; | ^ ITK/Modules/Filtering/ImageGradient/include/itkGradientRecursiveGaussianImageFilter.h:214:29: note: ‘MEM[(const struct CovariantVector &)&correctedGradient + 12]’ was declared here 214 | OutputPixelType correctedGradient; | ^
This duplicated block of code is now isolated into a separate included file so that it may be more easily modified. It is not clear if this code must be evaluated in both places
Now that cmake FindPython3 can be universally used, prefer to only use that set of variable names for identifying the python executables. This maintenance script can be used to assist with moving from the deprecated find_package(PythonInterp) and find_package(PythonLib) to the preferred find_package(Python3) variable names.
Now that cmake FindPython3 can be universally used, prefer to only use that set of variable names for identifying the python executables. Intial procesing with manual cleanup by: ITK/Utilities/Maintenance/FindPython3_ModernizeCMake.sh
Incomplete refactoring seems to have been performed to change the variable name.
Move the exposure of Python3_ROOT_DIR to a more central place to where its value is set.
The remote modules need ITK_WRAP_PYTHON_VERSION defined in the ITKConfig.cmake and also for embedded ITK builds. The variable must be set before the remote modules are processed.
When searching for python installation, ensure that a supported version is found.
ITK needs to also install the stub files for providing type hints to IDE's.
335a6b0
to
cd5a604
Compare
@dzenanz This is ready to review and rebase merge if the ghostflow-check-master can be overlooked until it is fixed. This PR includes #3561 and #3562 in order to get this to be a clean build. @thewtex This cleans up the python building environment, and provides an initial attempt at installing .pyi files for #3558, but I am not convinced that the installation is to the correct location for the wheel builds. |
This PR represents the rabbit hole untangling of finding Python with a consistent version across internal remote module builds with python wrapping turned on.
The end goal was to test installing of .pyi files in the itk-stub directory for the purpose of creating wheels that provide type hinting to the IDE.
PR Checklist