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: get rid of Makefile and Ninja #154

Merged
merged 2 commits into from
Jan 4, 2024
Merged

CMake: get rid of Makefile and Ninja #154

merged 2 commits into from
Jan 4, 2024

Conversation

fufexan
Copy link
Member

@fufexan fufexan commented Jan 3, 2024

Fixes #153.

Addresses all the remaining points in the above issue.
@alerque mind testing this PR?

@vaxerski
Copy link
Member

vaxerski commented Jan 3, 2024

you should also update README for the new instructions.

I'd generally stick to libexec being in lib/ as from my experience on arch libexec/ isnt picked up.

-DCMAKE_INSTALL_LIBEXECDIR=/usr/lib should do the job, I think

CMakeLists.txt Outdated Show resolved Hide resolved
@alerque
Copy link

alerque commented Jan 4, 2024

It looks like some of the changes here were intended to make it possible to build and install hyprland-protocols separately and depend on it from the system (which is a good thing!), but somehow that's managed to break the current submodule arrangement. I haven't tried to build it separately yet (although that will be the preferred way to package this in the long term), but the previous CMake incantation that was finding and building it stopped working when run on this PR.

@fufexan
Copy link
Member Author

fufexan commented Jan 4, 2024

I think it's the add_subdirectory call that makes it not work, but could you give me some logs?

It looks like some of the changes here were intended to make it possible to build and install hyprland-protocols separately and depend on it from the system

Yes. Maybe I've said it before, but I hate git submodules 😄

@alerque
Copy link

alerque commented Jan 4, 2024

That latest force-push is a lot better.

Now the only differences between the previous release packaged for Arch (using Meson) and my current attempts with 1.3.0 plus this PR using generic CMake are that some of the hyprland-protocols things are not being installed. The subdirectory build does work to satisfy the dependency but it does not end up installing the pc file or protocol files for it. I haven't tested yet whether those are needed at run time. This result might actually be expected & correct in that those should only be vendored if using the subproject and only installed to the system if built and installed in their own right.

If the latter is the expected behavior then this PR might be 👍 go for launch.

@fufexan
Copy link
Member Author

fufexan commented Jan 4, 2024

This result might actually be expected & correct in that those should only be vendored if using the subproject and only installed to the system if built and installed in their own right.

Yes, the .pc file and the XML protocols are only needed when hyprland-protocols is a standalone package.

Copy link
Member

@vaxerski vaxerski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

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.

Pure CMake install not installing most project assets
3 participants