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

Adding CMake support #1423

Closed

Conversation

DanOlivier
Copy link

This is an experiment
Missing features:

  • build documentation
  • run tests
  • multi-platform testing
  • finish TODOs in main CMakeLists.txt file
  • ...

@DanOlivier
Copy link
Author

Hi. If anyone sees this, feel free to review and/or comment the work.

Note: this effort is not in any way a critique of the existing Nix build system.

This is just an attempt on my part to answer a question. Along the way, in addition to learning a great deal about the tasks required to build and assemble nix products, I learned a lot about autotools as well.

In fact, I'm not certain that cmake is so superior in the end, since and choice made during configuration needs to be replicated in the alternate system. More debuggable, perhaps, but even then.
One of the advantages that I see is the capability of performing out-of-source builds. However, I didn't even check to see if the existing system has this capability (which is saying a lot).

Again, I do not have any acute awareness of any shortcomings of the current autotools-based system.

Cheers,
Dan

This is an experiment

Missing features:
- running tests
- multi-platform testing (system variable)
- finish TODOs in main CMakeLists.txt file

Features:
- full support for out-of-source build
- support for generating documentation (verbatim with autotools)
  - includes man pages, html, pdf
- support for externalization of debuginfo
  - installs symlinks to debug files during installation

Other (changelog)
- custom (project-wide) cmake functions for all libraries and
executables
  - hides calls to externalize (debuginfo)
@DanOlivier DanOlivier closed this Jun 29, 2017
@DanOlivier DanOlivier deleted the 1.11-maintenance branch June 29, 2017 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant