This is _relatively_ minor, but: There's a long-standing convention --
laziness, really -- in the CMake world, of doing out-of-source builds in a
directory named `build`, often located (for convenience) in the top level of
the repo dir. `rpmbuild` living in `/build` screws with that convention.
It's far from insurmountable (I just built everything in a directory named
`_build`, for my current test run), but still it's bound to be confusing, and
dumping autotools (#2232) gives us an opportunity to cleanly un-screw with it.
Let me just say that I'm willing to do the work of addressing this. I know
CMake well and am confident I can talk it into whatever we decide. I just don't
want to put a lot of work into a PR that won't be merged, so I thought it best
to first discuss an approach. (_If any_, since not addressing it is certainly
an option.)
#### Non-solutions
* Simply rename `build` to `rpmbuild`. (Conflicts with output binary name, in
the build dir.)
#### Possible solutions
In no particular order, since I jotted them down as they came to me.
1. Create a `src/` dir, and move the top-level `.c` files, `build`,
`fileattrs`, `misc`, `rpmio`, and `sign` into that dir.
1. Rename `build` to `rpmbuild`, **and** have it output the `rpmbuild` binary
target _inside_ that directory, rather than at the top level of the builddir.
(That's also somewhat more in keeping with CMake conventions, though I think
we'd then want to have the rest of the binaries do the same, for consistency.
Which makes it a bit of work in terms of both build tooling and subsequent
packaging/testing.)
1. Rename `build` to `rpmbuild`, and have all the executable targets (or, all
targets?) output into a `bin/` directory inside the build dir. (Same caveats as
previous.)
1. Move `build` to `lib/rpmbuild`, since it's **really** the source to
`librpmbuild`. (Probably also `rpmio` => `lib/rpmio`, and `sign` =>
`lib/rpmsign`, again for consistency.)
1. Rename `build` to `librpmbuild`, `rpmio` to `librpmio`, `sign` to
`librpmsign`, and -- say it with me, "for consistency" -- `lib` to `librpm`.
1. ???
--
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/2250
You are receiving this because you are subscribed to this thread.
Message ID: <rpm-software-management/rpm/issues/2...@github.com>
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint