-
Notifications
You must be signed in to change notification settings - Fork 407
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
#5667: dont install std algorithm headers multiple times #5670
#5667: dont install std algorithm headers multiple times #5670
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.
Thanks for looking into this
cmake/kokkos_tribits.cmake
Outdated
@@ -534,7 +534,7 @@ ELSE() | |||
CMAKE_PARSE_ARGUMENTS(PARSE | |||
"" | |||
"" | |||
"HEADERS;SOURCES" | |||
"HEADERS;SOURCES;NOINSTALLHEADERS" |
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 don't think that change is needed. Please undo.
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.
Are the parsed arguments used at all?
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.
It is, sadly required because I need to pass it in to tribits, but our function will throw a cmake error on an unrecognized argument in non-tribits mode 🤷
The argument is not used in non-tribits mode. This is yet another thing we will have to strike when we don't ahve to support tribits.
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.
Where is the error emitted from? I thought cmake_parse_arguments
allowed for unrecognized arguments.
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.
Maybe not with multi value keyword args? The documentation doesn't seem to say. I get:
CMake Error at cmake/kokkos_tribits.cmake:18 (if):
if given arguments:
"NOINSTALLHEADERS" <all the headers here>
Unknown arguments specified
Call Stack (most recent call first):
cmake/kokkos_tribits.cmake:127 (VERIFY_EMPTY)
cmake/kokkos_tribits.cmake:542 (KOKKOS_INTERNAL_ADD_LIBRARY_INSTALL)
algorithms/src/CMakeLists.txt:26 (KOKKOS_ADD_INTERFACE_LIBRARY)
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 suppose that is fine. Thanks for getting to the bottom of it
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 still fail to see where the parsed arguments are used below. It seems that only NAME
is relevant.
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.
Oh I see, yes I think we could actually remove the parse arguments. I'm not 100% sure why it is there.
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'd prefer if we removed it
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 removed it entirely
btw, this is not going to affect only the std algorithms but everything under algorithms since you are modifying the algorithm-level cmakefile. right? |
retest this please |
retest this please |
There was no need to re-run. I would have ignored the Cuda timing based failure :/ |
:_: |
Cherry-pick to 3.7.02 submitted with #5711 |
[3.7.02] Dont install std algorithm headers multiple times (#5670)
Note that this will install them under
<install_dir>/include/std_algorithms
. Any code that depends on them being in<install_dir>/include
will break.Fixes #5667