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

Document the cmake build system #760

Open
astrogeco opened this issue Jun 24, 2020 · 8 comments
Open

Document the cmake build system #760

astrogeco opened this issue Jun 24, 2020 · 8 comments
Labels
CFS-40 docs This change only affects documentation.

Comments

@astrogeco
Copy link
Contributor

astrogeco commented Jun 24, 2020

Describe the bug
Our documentation does not explain to users how the build system works and how to customize it for their needs

Expected behavior
A clear description and possibly some graphics showing how the different cmakelists files link with each other and how dependencies flow.

From CFS-40: Document dependencies based on features used (xxd for "embedded" files)

COMMAND xxd -i < "${FILESRC}" > "${CMAKE_CURRENT_BINARY_DIR}/embed/${EMBNAME}.inc"

It might make more sense to move this into the github.com/nasa/cFS instead

Additional context
Related to conversation started in #751

Reporter Info
Gerardo E. Cruz-Ortiz

@astrogeco astrogeco added the docs This change only affects documentation. label Jun 24, 2020
@astrogeco
Copy link
Contributor Author

@JandlynBentley-at-NASA this might be a good one for you to tackle

@CraigKnoblauch
Copy link

I'd like to second the need for this. I'm having a heck of a time figuring out what's needed to customize a build to my needs. @astrogeco What docs do your recommend right now that I could use?

@astrogeco
Copy link
Contributor Author

I'd like to second the need for this. I'm having a heck of a time figuring out what's needed to customize a build to my needs. @astrogeco What docs do your recommend right now that I could use?

I'll have to defer to @jphickey since I can't think of anything other than the comments in the files inside cmake/sample_defs

@CraigKnoblauch
Copy link

CraigKnoblauch commented Jan 11, 2021 via email

@skliper
Copy link
Contributor

skliper commented Jan 11, 2021

@CraigKnoblauch - feel free to post a question here if there is something in particular you are struggling with. There's a handful of issues that I've marked as "questions" where specific behavior was explained, and getting a better sense of where the challenges are would help with identifying specific documentation needs.

@CraigKnoblauch
Copy link

@astrogeco @skliper I remember a version of cFS that had a setvars.sh script. Where is that file now? Or a better question, has that file's functionality been replaced by something else? Also, where can I find information about how I should set up my mission directory? It's obvious that I should have one, as a vanilla build is complaining about that, but I'm not sure where to start setting it up and telling the build system about it. Do you guys have any ideas?

@skliper
Copy link
Contributor

skliper commented Jan 25, 2021

setvars.sh was used in the "classic build" system before we transitioned to CMake. It is no longer necessary, and has been replaced by CMake. I'm not sure what you are asking about "mission directory", do you mean customizing "sample_defs" for your mission? If so I recommend starting from the "sample_defs" using the quick start steps documented in the https://github.com/nasa/cFS README, and replacing/updating whatever you need to for your mission.

@skliper skliper added the CFS-40 label Apr 13, 2021
astrogeco added a commit to astrogeco/cFE that referenced this issue Mar 22, 2022
Co-authored-by: Elizabeth Timmons <ejtimmon@users.noreply@github.com>
@renn0xtek9
Copy link

Being new to this project and external, I agree that some doc on how the CMake ist structure would be very helpful.
Right now, it is not clear to me why the cfe/CMakeLists.txt is used recursively. (I don't grasp why it has to be so)
I have seen this strategy (to deal with multiple platform) in a few project before, but it turned out to be an anti pattern. It tend to confuse people and IDE. @astrogeco do you have some more information on this ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CFS-40 docs This change only affects documentation.
Projects
None yet
Development

No branches or pull requests

4 participants