On Fri, Jul 3, 2020 at 3:44 PM Robert-André Mauchin <zebob.m(a)gmail.com> wrote:
On Friday, 3 July 2020 19:41:40 CEST Igor Raits wrote:
> Just wanted to provide some update on this change.
>
> * %__cmake_in_source_build macro has been introduced and set to 1. It
> controls what arguments are passed to `cmake -B ...`, `cmake --build
> ...`, `cmake --install ...` and in which directory `ctest` is executed.
> If it is set to anything, it will use `.` as a directory so that build
> is done in-place.
> * %cmake now always passes -S/-B options.
> * %cmake_build/%cmake_install/%ctest macros have been created.
> * %cmake_kf5 changes are in progress by Neal at this moment.
>
> So far these changes are not breaking (it becomes breaking if you unset
> `%__cmake_in_source_build` macro), so we plan to backport them in
> stable Fedora releases so that spec files can stay compatible across
> Fedora branches.
>
> I've ran scratch rebuilds of ~2k packages that are affected (not
> including %cmake_kf5 changes yet). Only ~900 succeeeded (definitely
> will be lower once we get %cmake_kf5 changes are in). The ones that
> failed are:
>
> * 141 use `cd builddir; cmake ..; make` pattern
> * 823 use `cmake; make` pattern
> * 96 failed for irrelevant or overlooked problem
>
> Once %cmake_kf5 changes are ready, I'll start new mass-scratch-rebuild-
> of-affected-packages.
>
> NOW: I've booked 4 hours session this Sunday with Neal to go and fix
> broken packages. If you are interested to help - let me know and I'll
> send you an invitation.
>
> Will keep you updated :)
I'm confused by the proposal, it is named "CMake to do out-of-source
builds"
but the macros seems to do the opposite?
On Rawhide (local repo):
%__cmake \
-S "%{_vpath_srcdir}" \
-B "%{__cmake_builddir}" \
__cmake_builddir
%{!?__cmake_in_source_build:%{_vpath_builddir}}%{?__cmake_in_source_build:.}
__cmake_in_source_build 1
Looks like __cmake_builddir is defined as "." so the build will happen
in source?
It's being done in steps so that we can get everything building with
the new macros and then switch to out of tree and rebuild
appropriately.
--
真実はいつも一つ!/ Always, there's only one truth!