-
-
Notifications
You must be signed in to change notification settings - Fork 950
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
Install files using CMake, use CMake for Nix #5667
Conversation
645c6cb
to
86234c2
Compare
d765b51
to
e5c8802
Compare
f7cfd88
to
57818eb
Compare
fe9d852
to
ecf282d
Compare
6eee9a0
to
d154bb7
Compare
@vaxerski I've also removed all occurrences of |
@outfoxxed can you test when you have the time? |
Headers seem to work now, hy3 built successfully. |
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.
vă mulțumesc pentru munca frate
Build using submodules instead of patching the build process and using Nix derivations of the subprojects. From this commit on, you'll have to change the Hyprland flake url to `git+https://github.com/hyprwm/Hyprland?submodules=1`
- Clone repo recursively - Update Nix install action - Remove wlroots update
Describe your PR, what does it fix/add?
CMake now installs files directly (through
cmake --install ./build
). The Makefile commands have a warning that directs users to the appropriate commands.Nix now uses CMake for building. We also no longer patch the build process to avoid building subprojects.
This simplifies things on the building part, but complicates them a bit on the UX part.
In order to test these changes, you will have to do so with the following command:
$ nix build 'git+https://github.com/hyprwm/Hyprland?ref=cmake&submodules=1'
Closes #4956.
Closes #2313.
Important
I may revert back to patching the build process and using derivations for subprojects instead, if this method proves to be too unergonomic.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
CMake run from the command line seems to build fine, but when built with Nix it seems to build twice for some reason. Will have to look into the CMake and Ninja setup hooks.
Another thing to note is, in Nix at least, the XWayland package contains a pkg-config file that exposes
includedir
andCflags
, which are useless due to XWayland not including headers in the package. They have to be patched out.Is it ready for merging, or does it need work?
No. Please test it and report back.
TODO:
CONFIGURE_DEPENDS
)cmakeConfigurePhase
,ninjaBuildPhase
andninjaInstallPhase
)