-
Notifications
You must be signed in to change notification settings - Fork 58
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: Transition project configuration to pyproject.toml
#162
ENH: Transition project configuration to pyproject.toml
#162
Conversation
jhlegarreta
commented
Jun 22, 2024
•
edited
Loading
edited
- ENH: Transition project configuration to `pyproject.toml
- COMP: Update CI configuration for ITK 5.4
Depends on PR #161. |
The Can we use the |
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.
I was just about to start the conversion - thank you!!!!
Great idea! |
The windows build failure has been an issue for awhile. It is building the shared lib, but trying to use the static lib when linking executable test drivers. I haven't had time to track it down - it builds fine on windows systems - just not dashboard machines :( |
Yes, I've seen that. Not sure where this comes from, though: @thewtex Maybe from https://github.com/search?q=repo%3AInsightSoftwareConsortium%2FITKPythonPackage%20setup.py&type=code ? |
99cdf8d
to
8c92dde
Compare
Perhaps we need to updated the .github/workflow/build-test-package.yml to match https://github.com/KitwareMedical/ITKRLEImage/blob/main/.github/workflows/build-test-package.yml |
Done. Let's see what the CI says. @aylward Please take over from here if this does not fix all issues. Thanks. |
Will do. Thank you very much for getting this started! |
Transition project configuration to `pyproject.toml`. Used the `setup-py-to-pyproject-toml.py` script in the `ITKModuleTemplate` repository: https://github.com/InsightSoftwareConsortium/ITKModuleTemplate as a starting base, then made manual changes as necessary. Transfer the dependencies in `docs/requirements.txt` to the `[doc]` optional dependencies section. Remove the `setup-readme.md` file: the project long description is read from `README.md` in `pyproject.toml` now.
Update CI configuration for ITK 5.4.
03d9c6c
to
70c64c3
Compare
Re #162 (comment) removed file in last push-force. |
5b9b4d8
into
InsightSoftwareConsortium:master
I was able to reproduce this locally by using the Ninja generator. The weird thing is that itkTubeTK-5.4.dll and itkTubeTK-5.4.pdb exist, but itkTubeTK-5.4.lib does not. It is referenced in build.ninja:
|
itkTubeTK-5.4.lib should be generated -- this is the "import library" that is linked against on Windows at build time to use the corresponding *.dll at runtime. |
This bug exists prior to conversion to pyproject, so I merged this and will start a separate PR for fixing this bug...when we have some insight. It is happening when compiling two executables I use during testing: CompareImage and CompareTextFiles in TubeTK/test/CompareTools. Instead of building those two as test drivers, I am going to try building them as executables. Perhaps that will create the necessary cmake/build/link dependencies? |
@aylward 🥇 👍 good plan! |
Hi Matt (@thewtex) - this does not happen on the two windows 11 machines I have. Compiling using vs2022 and ninja 1.11.0. It also doesn't happen for me on Ubuntu 22.04 with ninja. This is when I am doing things manually (cmake-gui version 3.27.7 for config, and typing ninja to compile). But I'm not building shared libs. Will try adding that option and seeing what happens. Other suggestions are welcomed! Thanks, |
Yes - only happens with BUILD_SHARED_LIBS ON |
Seems like TubeTK is not creating any exports. See the documentation on /IMPLIB here: The correct command is being generated by cmake/ninja, but the "/implib lib/itkTubeTK-6.0.lib' file isn't being generated even though it is being correctly specified. There is a bug in the class defs of tubetk. Below is the ninja / cmake command that should be generating the lib. cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_dll --intdir=Modules\Remote\TubeTK\src\CMakeFiles\TubeTK.dir --rc=C:\PROGRA |
Simple fix explained and being investigated via PR #167. |