<table><tr><td style="">kossebau created this revision.<br />kossebau added reviewers: Frameworks, KWin, dfaure, zzag.<br />Herald added a project: Frameworks.<br />Herald added a subscriber: kde-frameworks-devel.<br />kossebau requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D24465">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Allows</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">projects linking to KWindowSystem to hide deprecated API up to a given version or silence deprecation warnings after a given version, using<ul class="remarkup-list">
<li class="remarkup-list-item">-DKWINDOWSYSTEM_DISABLE_DEPRECATED_BEFORE_AND_AT</li>
<li class="remarkup-list-item">-DKWINDOWSYSTEM_NO_DEPRECATED</li>
<li class="remarkup-list-item">-DKWINDOWSYSTEM_DEPRECATED_WARNINGS_SINCE</li>
<li class="remarkup-list-item">-DKWINDOWSYSTEM_NO_DEPRECATED_WARNINGS
<br /><br />
or</li>
<li class="remarkup-list-item">-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT</li>
<li class="remarkup-list-item">-DKF_NO_DEPRECATED</li>
<li class="remarkup-list-item">-DKF_DEPRECATED_WARNINGS_SINCE</li>
<li class="remarkup-list-item">-DKF_NO_DEPRECATED_WARNINGS</li>
</ul></li>
<li class="remarkup-list-item">to build KWindowSystem optionally with deprecated API excluded from the build, using "EXCLUDE_DEPRECATED_BEFORE_AND_AT" cmake argument.</li>
</ul>

<p>Setting KWINDOWSYSTEM_NO_WIDGETS ensures EXCLUDE_DEPRECATED_BEFORE_AND_AT<br />
is at least at the version where QWidgets API was deprecated.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Builds with EXCLUDE_DEPRECATED_BEFORE_AND_AT set to 0, 5.0.0, 5.18.0,<br />
5.38.0, 5.62.0, CURRENT as well as KWINDOWSYSTEM_NO_WIDGETS ON/OFF</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R278 KWindowSystem</div></div></div><br /><div><strong>BRANCH</strong><div><div>useECMGenerateExportHeader</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D24465">https://phabricator.kde.org/D24465</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br />
autotests/kstartupinfo_unittest.cpp<br />
autotests/kwindowinfox11test.cpp<br />
autotests/kwindowsystemx11test.cpp<br />
autotests/kxmessages_unittest.cpp<br />
autotests/netwininfotestclient.cpp<br />
src/CMakeLists.txt<br />
src/kstartupinfo.cpp<br />
src/kstartupinfo.h<br />
src/kwindoweffects.cpp<br />
src/kwindoweffects.h<br />
src/kwindowsystem.cpp<br />
src/kwindowsystem.h<br />
src/kwindowsystem_dummy_p.h<br />
src/kwindowsystem_p.h<br />
src/netwm_def.h<br />
src/platforms/osx/kwindowsystem.cpp<br />
src/platforms/wayland/kwindowsystem.cpp<br />
src/platforms/wayland/kwindowsystem_p_wayland.h<br />
src/platforms/windows/kwindowsystem.cpp<br />
src/platforms/xcb/kkeyserver.cpp<br />
src/platforms/xcb/kkeyserver_x11.h<br />
src/platforms/xcb/kwindowsystem.cpp<br />
src/platforms/xcb/kwindowsystem_p_x11.h<br />
src/platforms/xcb/kxmessages.cpp<br />
src/platforms/xcb/kxmessages.h<br />
src/platforms/xcb/netwm.cpp<br />
src/platforms/xcb/netwm.h</div></div></div><br /><div><strong>To: </strong>kossebau, Frameworks, KWin, dfaure, zzag<br /><strong>Cc: </strong>kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns<br /></div>