-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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
cmake: Zephyr wrapped functions does not allow keywords on zephyr_link_libraries #8614
Comments
Thank you for reporting. This has been fixed. The fix will be up for review after all of it's dependent PR's are merged: Dependents: Branch with fix: |
Hi, your fix does not fix the problem, only moves it around, which is exactly my point with: #8439 to always do: then you can not specify, e.g. anymore: instead you end up having to create even more wrapper functions. |
Ah, my mistake, I thought this was a bug-report. e.g. I thought you were reporting that target_link_libraries(mylib INTERFACE ) was not possible. If this is a feature-request, could you rephrase from: "cmake: Zephyr wrapped functions does not allow keywords on zephyr_link_libraries" to "cmake: Add zephyr_library_* wrapper support for interface and private linking of libraries" Unless this is a bugreport, e.g. it is trying to report that "cmake: The zephyr_library_* wrapper does not scale" |
Well, I think this is a minor bug. As part of: #8445 the flag _ConfigAbsSyms should be used when linking to libzephyr.a Your solution only targets the addition of PUBLIC / PRIVATE keywords to wrapped CMake functions. |
Hi, I believe that the title and/or the issue description is out-of-date. E.g. it is stated in the description:
but after #9309 was merged this is no longer the case. Could you either update it, or permit me to update it as I understand it? |
Closing due to the reporter not responding to the assignee. @tejlmand : Feel free to re-open after addressing the comment from August. |
During work on: #8445 I discovered that the wrapping macro: zephyr_library_named()
break the possibility of later using PUBLIC / PRIVATE / INTERFACE keywords together with
zephyr_library_link_libraries(INTERFACE <linking_flag>)
or using plain cmake:
target_link_libraries(myLib INTERFACE <linking_flag>)
as cmake will break with:
The plain signature for target_link_libraries has already been used with
the target "zephyr". All uses of target_link_libraries with a target must
be either all-keyword or all-plain.
The uses of the plain signature are here:
* ../../../cmake/extensions.cmake:431 (target_link_libraries)
EDIT: the correct reference for this has been updated to #8445
The text was updated successfully, but these errors were encountered: