Re: Changing CI builds to RelWithDebInfo from Debug

Ben Cooksley <[email protected]> Tue, 28 Jul 2026 23:24:44 +1200
Newsgroups gmane.comp.kde.devel.core,gmane.comp.kde.devel.general,gmane.comp.kde.releases,gmane.comp.kde.devel.plasma,gmane.comp.kde.devel.frameworks
Message-ID <CA+XidOFCLtYdjvoKBQXEovmWcEgZ2PG8dsx00uLYitnr7wuzoA@mail.gmail.com>
--000000000000a8bbb00657aa165d
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Jul 28, 2026 at 11:10=E2=80=AFPM Nicolas Fella <[email protected]=
e> wrote:

> On 28/07/2026 12:58, Ben Cooksley wrote:
>
> Hi all,
>
> For some time now CI has built everything using CMAKE_BUILD_TYPE set to
> Debug. This has the benefit of producing binaries that have asserts
> enabled, however does have the downside that the binaries generated are
> larger and unoptimized, making test execution take longer.
>
> For KWin, this means that the install/ folder it produces on a Qt 6.11
> system uses ~890MB of space by itself (excluding any dependencies).
>
> In the interests of reducing disk space utilisation on the CI builders, a=
s
> well as hopefully speeding up execution of tests, i'd like to switch the =
CI
> system to use RelWithDebInfo.
>
> Please let me know if there are any issues with this.
>
> Thanks,
> Ben
>
> Hi,
>
> no objection in principle. I'm a bit skeptical that it will make a large
> difference (debug symbols probably make up the largest part of the space)=
,
> but I'm open to being proved wrong.
>
> I'd rather not lose the asserts though, and we don't have to. We just nee=
d
> to pass -DECM_FORCE_ASSERTS=3DON to CMake (see
> https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/57=
4
> ).
>

We can do that. The reason for going with full Debug was literally to have
asserts enabled, so if we can do that without having to build full Debug
binaries it should be fine.

I'm expecting that there will be some size reduction thanks to compiler
optimisations, and having optimisations should in theory make things run
faster which is the big gain we'll get.


> Cheers
>
> Nico
>

Cheers,
Ben

--000000000000a8bbb00657aa165d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><span style=3D"background-color:transpare=
nt">On Tue, Jul 28, 2026 at 11:10=E2=80=AFPM Nicolas Fella &lt;<a href=3D"m=
ailto:[email protected]">[email protected]</a>&gt; wrote:</span></div=
><div class=3D"gmail_quote gmail_quote_container"><blockquote class=3D"gmai=
l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,20=
4,204);padding-left:1ex"><u></u>

 =20
   =20
 =20
  <div>
    <div>On 28/07/2026 12:58, Ben Cooksley
      wrote:<br>
    </div>
    <blockquote type=3D"cite">
     =20
      <div dir=3D"ltr">Hi all,
        <div><br>
        </div>
        <div>For some time now CI has built everything using
          CMAKE_BUILD_TYPE set to Debug. This has the benefit of
          producing binaries that have asserts enabled, however does
          have the downside that the binaries generated are larger and
          unoptimized, making test execution take longer.</div>
        <div><br>
        </div>
        <div>For KWin, this means that the install/ folder it produces
          on a Qt 6.11 system uses ~890MB of space by itself (excluding
          any dependencies).</div>
        <div><br>
        </div>
        <div>In the interests of reducing disk space utilisation on the
          CI builders, as well as hopefully speeding up execution of
          tests, i&#39;d like to switch the CI system to use RelWithDebInfo=
.</div>
        <div><br>
        </div>
        <div>Please let me know if there are any issues with this.</div>
        <div><br>
        </div>
        <div>Thanks,</div>
        <div>Ben</div>
      </div>
    </blockquote>
    <p>Hi,</p>
    <p>no objection in principle. I&#39;m a bit skeptical that it will make
      a large difference (debug symbols probably make up the largest
      part of the space), but I&#39;m open to being proved wrong.</p>
    <p>I&#39;d rather not lose the asserts though, and we don&#39;t have to=
. We
      just need to pass -D<span><span>ECM_FORCE_ASSERTS=3DON to CMake (see
<a href=3D"https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_re=
quests/574" target=3D"_blank">https://invent.kde.org/frameworks/extra-cmake=
-modules/-/merge_requests/574</a>).</span></span></p></div></blockquote><di=
v><br></div><div>We can do that. The reason for going with full Debug was l=
iterally to have asserts enabled, so if we can do that without having to bu=
ild full Debug binaries it should be fine.</div><div><br></div><div>I&#39;m=
 expecting that there will be some size reduction thanks to compiler optimi=
sations, and having optimisations should in theory make things run faster w=
hich is the big gain we&#39;ll get.</div><div>=C2=A0</div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><div>
    <p><span><span>Cheers</span></span></p>
    <p><span><span>Nico</span></span></p></div></blockquote><div><br></div>=
<div>Cheers,</div><div>Ben=C2=A0</div></div></div>

--000000000000a8bbb00657aa165d--