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

Proposal: Retire make; Update build instructions for Cmake #133

Closed
maxsu opened this issue Mar 14, 2023 · 2 comments
Closed

Proposal: Retire make; Update build instructions for Cmake #133

maxsu opened this issue Mar 14, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@maxsu
Copy link

maxsu commented Mar 14, 2023

Now we have a shiny new cmake frontend, can we:

  • eliminate the makefile?
  • document the Cmake build instructions?

As far as I know, users might use the make file if they don't have cmake. There might also be some features in the makefile that still need to be transferred to cmakelist.txt.

But as far as I know, cmake will need to generate the makefile for each user's environment. So it may no longer make sense to track the makefile at all. Tracking the cmakelist.txt might be enough.

This of course puts the burden on the user to install cmake and know how to call it. That's a little more complicated that make. It would help to add the new steps to readme.md, and remove the old make-based build steps.

I can implement both, but ideas and suggestions are needed - what are the plans for supporting (or deprecating) the makefile / supporting make-based build steps? Lemme know we can get rid of em' all, and I can get to work! 🔥🔥🔥 Otherwise, lemme know the preferred approach!

@lemmi
Copy link

lemmi commented Mar 14, 2023

At the moment, all I have to do is clone the repo and type make. I'd love to see how you can beat that with cmake :)

@gjmulder gjmulder added the enhancement New feature or request label Mar 15, 2023
@maxsu
Copy link
Author

maxsu commented Mar 16, 2023

@lemmi I'm not saying cmake is easier to use. Cmake is definitely more annoying to use

But Cmake has snuck into the project thanks to PR #75. Whisper.cpp uses Cmake to support platforms like windows or android, and llamma.cpp could be moving in that direction.

Now we have both a MakeFile and Cmakelists.txt, and the second one has more features.

3 options:

  1. Use cmake - get rid of the makefile
  2. Use cmake - but auto-generate a makefile as a commit hook
  3. Use make - add windows/android builds to MakeFile; get rid of cmakelists.txt

Option 1 is easiest. Option 2 continues to support make users. Option 3 is best for make users, but could be a PITA to support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants