-
Notifications
You must be signed in to change notification settings - Fork 30
Cmake incremental builds improvement #1586
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
Conversation
Deleted rendered PR docs from intelpython.github.com/dpctl, latest should be updated shortly. 🤞 |
Array API standard conformance tests for dpctl=0.17.0dev0=py310h15de555_70 ran successfully. |
@@ -280,7 +280,7 @@ set_target_properties(DPCTLSyclInterface | |||
|
|||
if (SKBUILD) | |||
set(_lib_destination dpctl) | |||
set(_include_destination dpctl/include/syclinterface) | |||
set(_include_destination ${CMAKE_INSTALL_PREFIX}/unused) |
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.
What is this change doing?
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.
Avoiding that syclinterface
header, which are copied to dpctl/include/syclinterface
as part of build step be overwritten by the install. The install just puts them in _skbuild/*/cmake-install/unused
folder, and setuptools
does not copy them into the Python layout, and instead copies files from dpctl/include/syclinterface
like intended.
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.
Then why is this step needed all together? Will it not work, if the line is completely removed?
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.
This value is used in subsequent 3 install commands.
Removing this line would require moving these install commands inside if/else branch. It would make the script longer, but it can be done
f01bc83
to
787524c
Compare
Array API standard conformance tests for dpctl=0.17.0dev0=py310h15de555_107 ran successfully. |
Installing them updates time-stamps on the files, and incremental rebuild is always rebuilding, even though no files are changed. With this change repeated invocation of `python scripts/build_locally.py` is effectively a no-op.
787524c
to
fd1d43c
Compare
Array API standard conformance tests for dpctl=0.17.0dev0=py310h15de555_118 ran successfully. |
Avoid installing header files which are formed during building steps.
During installation the files are not changed, but timestamps get updated prompting incremental cmake build to do full build instead.