Skip to content

Commit c115efc

Browse files
committed
frontend/cmake: Enable Qt strict mode
Qt strict mode disables APIs deemed "'suboptimal' or 'dangerous'" [1] and "clearly undesirable" [2] by Qt that will be removed in the long term. Usages of the APIs in OBS have been removed in the previous commits, and by setting this flag we keep ourselves from using them again. The versioning works in a way where e.g. a new addition to this in 6.9 would only be disabled if at least 0x060900 is set. By setting 0xFF0000, we're effectively disabling any APIs that are deemed to be bad in any future Qt version (up to 255). While this could lead to OBS not being buildable against bleeding edge Qt, it also means that it will be noticed early. Should the disabled API turn out to be too complex to remove, the value can be downgraded to the last working one then. [1] qt/qtbase@3a6c8e0 [2] qt/qtbase@f9163ae
1 parent a13ee91 commit c115efc

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

frontend/cmake/ui-qt.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ set_target_properties(
1818
PROPERTIES AUTOMOC TRUE AUTOUIC TRUE AUTORCC TRUE AUTOGEN_PARALLEL AUTO
1919
)
2020

21+
# https://doc.qt.io/qt-6/qtglobal.html#QT_ENABLE_STRICT_MODE_UP_TO
22+
target_compile_definitions(obs-studio PRIVATE QT_ENABLE_STRICT_MODE_UP_TO=0xFF0000)
23+
2124
set_property(TARGET obs-studio APPEND PROPERTY AUTOUIC_SEARCH_PATHS forms forms/source-toolbar)
2225

2326
target_sources(

0 commit comments

Comments
 (0)