-
Notifications
You must be signed in to change notification settings - Fork 206
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
Fix #1907, Cmake modifiable table tool path parameter #1910
Fix #1907, Cmake modifiable table tool path parameter #1910
Conversation
4a9aab9
to
629fef7
Compare
Ok, thanks for the quick info + tip. |
629fef7
to
d6852c2
Compare
Ok, now you can run your Mission Build with |
e6c6103
to
46daf26
Compare
Cmake option to change (on mission build) the path of the ef2cfetbl executable file tought the -DTABLETOOL_EXECUTABLE cmake argument. This also enables the user to specify other tools as table tool if needed.
46daf26
to
db7de79
Compare
@jphickey Would you be able to review this PR? |
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'm not seeing how the value gets passed from the top-level mission build into the arch build where it is used.
BUT - I'm not entirely convinced that this is the right way to go in the first place. Ideally, the intent with the issue #1907 was to make the table build method more modular. With this change, only the path to the EXE file for the tool can be modified, but all other parts of the build process are kept the same. This means that whatever alternate tool is provided, must have exactly the same functionality as elf2cfetbl
, including all its quirks. So at that point I don't know why someone would need to override it, it has to do what it is expected to do at that particular step.
I'd rather see a change that only captures the table build metadata here (include paths, compile defs, source files, etc) and defers the actual binary generation to a user-defined script that runs at the mission level. This way, a user can control the whole process, and actually do something different (as opposed to parsing an ELF file which has always been troublesome/problematic).
Also - as this has been stale for over a year now, I haven't heard users clamoring for something like this - if it is not a pressing issue I wouldn't risk possible unintended side effects by adding a feature that isn't high priority or unlikely to be used. In many ways there are already too many options/special features/overrides in the build as it is, and many aren't tested on a regular basis so might be broken. |
Finally I'll also note that through the use of While that might be a bit heavy handed, it does allow a user to completely override the table build process and requires no change at all to the existing scripts. |
Yes, I would agree. Recommendation for a user that needs something different would be to copy the "add_cfe_tables" function in its entirety into your |
Cmake option to change the path of the ef2cfetbl executable file via the TABLETOOL_EXE environment variable. This also enables the user to specify other tools as table tool if needed.
Describe the contribution
Testing performed
Expected behavior changes
TABLETOOL_EXE
environment variable is set. Then the cmake would use the content as path to an executable used for transforming lib into tbl.IMPORTANT!
If
TABLETOOL_EXE
isn't set the build process does not change. But if it is set the program won't add the default ef2cfetbl toolas a dependency in cmake and the with TABLETOOL_EXE specified executable will be run with the parameters like for the
ef2cfetbl utility.
Additional context
See above.
Contributor Info - All information REQUIRED for consideration of pull request
@PavLL