Skip to content
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 support for elf2cfetbl usage #79

Closed
skliper opened this issue Sep 30, 2019 · 10 comments
Closed

CMake support for elf2cfetbl usage #79

skliper opened this issue Sep 30, 2019 · 10 comments
Milestone

Comments

@skliper
Copy link
Contributor

skliper commented Sep 30, 2019

The current CMake support structure does not include support
for the old style CFE Tables -- that is, where the table is
embodied in a source file within the application, which is
compiled with the application headers (as well as headers
from CFE, OSAL, and so on), and which is then converted from
the ELF Object File format into a TBL file.

Asking each project that wants to convert to CMake to independently
work out how to get the files compiled then converted is asking for
a significant duplication of effort -- as this turns out to be
something more than a couple easy lines of Make scripting. It is more
reasonable for us to work it out once, and provide a solution that
projects can use (or adapt) as desired.

@skliper skliper added this to the 6.5.0 milestone Sep 30, 2019
@skliper skliper self-assigned this Sep 30, 2019
@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Imported from trac issue 48. Created by glimes on 2015-05-18T16:48:09, last modified: 2019-03-05T14:57:55

@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Trac comment by glimes on 2015-05-18 16:50:03:

I have set up a preliminary edit on Babelfish
in the "trac-48-cmake-elf2cfetbl-usage" branch,
currently in commit [changeset:143294b].

@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Trac comment by jphickey on 2015-05-19 15:24:01:

I have pushed commit [changeset:42d808f] with my proposed solution to this

This integrates "elf2cfetbl" into the CMake rules for an app.

  • A new CMake function called {{{add_cfe_tables()}}} to define table files associated with an app. This can be included in the app-specific CMakeLists.txt file that is distributed with the application code.
  • The function will first search in "tables" subdirectories of the the mission definitions and at the top level for an identically-named file, and use that as an override if one exists.
  • If those do not exist, then the (default) table source included with the app is used.
  • The table source file is compiled using the target compiler to produce an intermediate "o" file, using the same set of CFLAGS and include paths as the rest of the code for the app.
  • "elf2cfetbl" is called to convert the "o" file into a tbl file.
  • The tbl file is copied to the target tree during install

@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Trac comment by sstrege on 2015-07-24 17:18:29:

Approve

@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Trac comment by glimes on 2015-07-27 12:55:48:

Approve.

@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Trac comment by sduran on 2015-07-27 17:51:04:

approve.

@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Trac comment by glimes on 2015-07-30 15:18:04:

[changeset:42d808f trac-48-cmake-elf2cfetbl] is included in [changeset:6ea42ba ic-2015-07-28]

@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Trac comment by glimes on 2015-09-08 12:56:00:

... somehow was not closed after the 07-28 integration was complete.

@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Trac comment by glimes on 2016-02-16 13:16:45:

Susie confirmed these tickets have been approved for CFE 6.5

@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Trac comment by jhageman on 2019-03-05 14:57:55:

Milestone renamed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant