[vlc-commits] [Git][videolan/vlc][master] 2 commits: contrib: qt: configure Qt with CMake

Steve Lhomme (@robUx4) gitlab at videolan.org
Thu Jun 6 13:07:54 UTC 2024



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
ee14cabf by Steve Lhomme at 2024-06-06T12:24:33+00:00
contrib: qt: configure Qt with CMake

We already do it for native tools.
The legacy option in the configure script are actually translated to CMake
syntax using this mapping: https://github.com/qt/qtbase/blob/6.7.1/cmake/configure-cmake-mapping.md

- - - - -
f1be59af by Steve Lhomme at 2024-06-06T12:24:33+00:00
contrib: qt: factorize some common configuration values

- - - - -


1 changed file:

- contrib/src/qt/rules.mak


Changes:

=====================================
contrib/src/qt/rules.mak
=====================================
@@ -51,48 +51,50 @@ qt: qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz .sum-qt
 	$(APPLY) $(SRC)/qt/0001-disable-precompiled-headers-when-forcing-WINVER-inte.patch
 	$(MOVE)
 
-ifeq ($(V),1)
-QTBASE_CONFIG += -verbose
-endif
-
 ifdef HAVE_WIN32
-QTBASE_CONFIG += -no-freetype -directwrite
+QTBASE_CONFIG += -DFEATURE_freetype=OFF -DFEATURE_directwrite=ON -DFEATURE_directwrite3=ON
 else
-QTBASE_CONFIG += -system-freetype
+QTBASE_CONFIG += -DFEATURE_freetype=ON -DFEATURE_system_freetype=ON
 endif
 
 ifdef HAVE_CROSS_COMPILE
 # This is necessary to make use of qmake
-QTBASE_PLATFORM := -device-option CROSS_COMPILE=$(HOST)-
+QTBASE_CONFIG += -DQT_QMAKE_DEVICE_OPTIONS:STRING=CROSS_COMPILE=$(HOST)-
 endif
 
 ifdef HAVE_WIN32
-QTBASE_CONFIG += -no-feature-style-fusion
+QTBASE_CONFIG += -DFEATURE_style_fusion=OFF
 endif
 
 ifdef ENABLE_PDB
-QTBASE_CONFIG += -release -force-debug-info
+QTBASE_CONFIG += -DCMAKE_BUILD_TYPE=RelWithDebInfo
 else
-QTBASE_CONFIG += -release
+QTBASE_CONFIG += -DCMAKE_BUILD_TYPE=Release
 endif
 
-QTBASE_CONFIG += -static -opensource -confirm-license -no-pkg-config -no-openssl \
-    -no-gif -no-dbus -no-feature-zstd -no-feature-concurrent -no-feature-androiddeployqt \
-	-no-feature-sql -no-feature-testlib -system-harfbuzz -system-libjpeg \
-	-no-feature-xml -no-feature-printsupport -system-libpng -system-zlib -no-feature-network \
-	-no-feature-movie -no-feature-pdf -no-feature-whatsthis -no-feature-lcdnumber \
-	-no-feature-syntaxhighlighter -no-feature-undoview -no-feature-splashscreen \
-	-no-feature-dockwidget -no-feature-statusbar -no-feature-statustip \
-	-no-feature-keysequenceedit -no-feature-pkg-config \
-	-nomake examples -prefix $(PREFIX) \
-	-- -DCMAKE_TOOLCHAIN_FILE=$(abspath toolchain.cmake) $(QT_HOST_PATH)
-
-QTBASE_NATIVE_CONFIG := -DQT_BUILD_EXAMPLES=FALSE -DQT_BUILD_TESTS=FALSE -DFEATURE_pkg_config=OFF \
-	-DFEATURE_accessibility=OFF -DFEATURE_widgets=OFF -DFEATURE_printsupport=OFF -DFEATURE_androiddeployqt=OFF \
-	-DFEATURE_xml=OFF -DFEATURE_network=OFF -DFEATURE_vnc=OFF -DFEATURE_linuxfb=OFF -DFEATURE_xlib=OFF \
-	-DFEATURE_sql=OFF -DFEATURE_testlib=OFF -DFEATURE_pdf=OFF -DFEATURE_vulkan=OFF -DFEATURE_imageformatplugin=OFF \
-	-DFEATURE_zstd=OFF -DFEATURE_xkbcommon=OFF -DFEATURE_evdev=OFF -DFEATURE_sessionmanager=OFF -DFEATURE_png=OFF \
-	-DFEATURE_dbus=OFF -DINPUT_openssl=no -DFEATURE_concurrent=OFF -DFEATURE_glib=OFF -DFEATURE_icu=OFF \
+QTBASE_COMMON_CONFIG := -DFEATURE_pkg_config=OFF -DINPUT_openssl=no \
+	-DFEATURE_dbus=OFF -DFEATURE_zstd=OFF -DFEATURE_concurrent=OFF -DFEATURE_androiddeployqt=OFF \
+	-DFEATURE_sql=OFF -DFEATURE_testlib=OFF \
+	-DFEATURE_xml=OFF -DFEATURE_printsupport=OFF -DFEATURE_network=OFF \
+	-DFEATURE_pdf=OFF \
+	-DQT_BUILD_EXAMPLES=OFF
+
+QTBASE_CONFIG += $(QTBASE_COMMON_CONFIG) \
+    -DFEATURE_gif=OFF \
+	-DFEATURE_harfbuzz=ON -DFEATURE_system_harfbuzz=ON -DFEATURE_jpeg=ON -DFEATURE_system_jpeg=ON \
+	-DFEATURE_png=ON -DFEATURE_system_png=ON -DFEATURE_zlib=ON -DFEATURE_system_zlib=ON \
+	-DFEATURE_movie=OFF -DFEATURE_whatsthis=OFF -DFEATURE_lcdnumber=OFF \
+	-DFEATURE_syntaxhighlighter=OFF -DFEATURE_undoview=OFF -DFEATURE_splashscreen=OFF \
+	-DFEATURE_dockwidget=OFF -DFEATURE_statusbar=OFF -DFEATURE_statustip=OFF \
+	-DFEATURE_keysequenceedit=OFF \
+	-DCMAKE_TOOLCHAIN_FILE=$(abspath toolchain.cmake) $(QT_HOST_PATH)
+
+QTBASE_NATIVE_CONFIG := $(QTBASE_COMMON_CONFIG) -DQT_BUILD_TESTS=FALSE \
+	-DFEATURE_accessibility=OFF -DFEATURE_widgets=OFF \
+	-DFEATURE_vnc=OFF -DFEATURE_linuxfb=OFF -DFEATURE_xlib=OFF \
+	-DFEATURE_vulkan=OFF -DFEATURE_imageformatplugin=OFF \
+	-DFEATURE_xkbcommon=OFF -DFEATURE_evdev=OFF -DFEATURE_sessionmanager=OFF -DFEATURE_png=OFF \
+	-DFEATURE_glib=OFF -DFEATURE_icu=OFF \
 	-DFEATURE_texthtmlparser=OFF -DFEATURE_cssparser=OFF -DFEATURE_textodfwriter=OFF -DFEATURE_textmarkdownreader=OFF \
 	-DFEATURE_textmarkdownwriter=OFF -DINPUT_libb2=no -DFEATURE_harfbuzz=OFF -DFEATURE_freetype=OFF -DINPUT_opengl=no
 
@@ -111,15 +113,7 @@ endif
 
 .qt: qt toolchain.cmake
 	$(CMAKECLEAN)
-	mkdir -p $(BUILD_DIR)
-
-	# Configure qt, build and run cmake
-	+cd $(BUILD_DIR) && ../configure $(QTBASE_PLATFORM) $(QTBASE_CONFIG)
-
-	# Build
+	$(HOSTVARS_CMAKE) $(CMAKE) $(QTBASE_CONFIG)
 	+$(CMAKEBUILD)
-
-	# Install
 	$(CMAKEINSTALL)
-
 	touch $@



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6b413351fbdcb6e7bbb25dc693d4318b0b894c30...f1be59af33a6911867d2effd468eaad315b4ba58

-- 
This project does not include diff previews in email notifications.
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6b413351fbdcb6e7bbb25dc693d4318b0b894c30...f1be59af33a6911867d2effd468eaad315b4ba58
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list