Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
ef32c02a by Steve Lhomme at 2024-04-17T13:35:55+00:00
contrib: qt: build qt modules with CMake

The scripts call just translate old options into their CMake counterpart.
The BUILD and BUILDPREFIX qt toolchain point to different build configurations.

The qt.toolchain.cmake corresponds to the toolchain file used by qt-cmake.
But we can't use it as it's supposed to be a tool for the cross-compiled
target. This toolchain file is the official one to use when cross-compiling Qt6
for Raspberry Pi in Qt Creator: 
https://wiki.qt.io/Cross-Compile_Qt_6_for_Raspberry_Pi

- - - - -
bd7b8751 by Steve Lhomme at 2024-04-17T13:35:55+00:00
contrib: qt: don't link private files after installation

- - - - -


6 changed files:

- contrib/src/qt/rules.mak
- contrib/src/qt5compat/rules.mak
- contrib/src/qtdeclarative/rules.mak
- contrib/src/qtshadertools/rules.mak
- contrib/src/qtsvg/rules.mak
- contrib/src/qtwayland/rules.mak


Changes:

=====================================
contrib/src/qt/rules.mak
=====================================
@@ -108,8 +108,4 @@ QTBASE_NATIVE_CONFIG := -DQT_BUILD_EXAMPLES=FALSE 
-DQT_BUILD_TESTS=FALSE -DFEATU
        # Install
        $(CMAKEINSTALL)
 
-       # qt-configure-module wants to have qt-cmake-private in libexec:
-       mkdir -p $(PREFIX)/libexec
-       ln -sf $(PREFIX)/bin/qt-cmake-private $(PREFIX)/libexec/qt-cmake-private
-
        touch $@


=====================================
contrib/src/qt5compat/rules.mak
=====================================
@@ -19,13 +19,20 @@ 
$(TARBALLS)/qt5compat-everywhere-src-$(QT5COMPAT_VERSION).tar.xz:
 
 .sum-qt5compat: qt5compat-everywhere-src-$(QT5COMPAT_VERSION).tar.xz
 
+QT5_COMPAT_CONFIG := 
-DCMAKE_TOOLCHAIN_FILE=$(PREFIX)/lib/cmake/Qt6/qt.toolchain.cmake
+ifdef ENABLE_PDB
+QT5_COMPAT_CONFIG += -DCMAKE_BUILD_TYPE=RelWithDebInfo
+else
+QT5_COMPAT_CONFIG += -DCMAKE_BUILD_TYPE=Release
+endif
+
 qt5compat: qt5compat-everywhere-src-$(QT5COMPAT_VERSION).tar.xz .sum-qt5compat
        $(UNPACK)
        $(MOVE)
 
 .qt5compat: qt5compat toolchain.cmake
-       mkdir -p $(BUILD_DIR)
-       +cd $(BUILD_DIR) && $(PREFIX)/bin/qt-configure-module $(BUILD_SRC)
+       $(CMAKECLEAN)
+       $(HOSTVARS) $(CMAKE) $(QT5_COMPAT_CONFIG)
        +$(CMAKEBUILD)
        $(CMAKEINSTALL)
        touch $@


=====================================
contrib/src/qtdeclarative/rules.mak
=====================================
@@ -42,45 +42,49 @@ qtdeclarative: 
qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz .sum
        $(APPLY) $(SRC)/qtdeclarative/0001-Fix-incorrect-library-inclusion.patch
        $(MOVE)
 
-QT_DECLARATIVE_CONFIG := \
-       --no-feature-quick-designer \
-       --no-feature-quick-particles \
-       --no-feature-qml-preview \
-       --no-feature-quickcontrols2-imagine \
-       --no-feature-quickcontrols2-material \
-       --no-feature-quickcontrols2-universal \
-       --no-feature-quickcontrols2-macos \
-       --no-feature-quickcontrols2-ios \
-       --no-feature-qml-network
+QT_DECLARATIVE_COMMON_CONFIG := \
+       -DFEATURE_qml_debug=OFF \
+       -DFEATURE_qml_profiler=OFF \
+       -DFEATURE_quick_designer=OFF \
+       -DFEATURE_quick_particles=OFF \
+       -DFEATURE_qml_preview=OFF \
+       -DFEATURE_quickcontrols2_imagine=OFF \
+       -DFEATURE_quickcontrols2_material=OFF \
+       -DFEATURE_quickcontrols2_universal=OFF \
+       -DFEATURE_quickcontrols2_macos=OFF \
+       -DFEATURE_quickcontrols2_ios=OFF \
+       -DFEATURE_qml_network=OFF
 
-QT_DECLARATIVE_NATIVE_CONFIG := $(QT_DECLARATIVE_CONFIG) \
-       --no-feature-qml-animation \
-       --no-feature-qml-delegate-model \
-       --no-feature-qml-itemmodel \
-       --no-feature-qml-object-model \
-       --no-feature-qml-table-model \
-       --no-feature-quick-particles \
-       --no-feature-quick-shadereffect \
-       --no-feature-quick-path \
-       --no-feature-qml-network
+QT_DECLARATIVE_CONFIG := $(QT_DECLARATIVE_COMMON_CONFIG) \
+       -DCMAKE_TOOLCHAIN_FILE=$(PREFIX)/lib/cmake/Qt6/qt.toolchain.cmake \
+       -DQT_HOST_PATH=$(BUILDPREFIX)
+ifdef ENABLE_PDB
+QT_DECLARATIVE_CONFIG += -DCMAKE_BUILD_TYPE=RelWithDebInfo
+else
+QT_DECLARATIVE_CONFIG += -DCMAKE_BUILD_TYPE=Release
+endif
 
-QT_DECLARATIVE_FEATURES := -DFEATURE_qml_debug=OFF -DFEATURE_qml_profiler=OFF
+QT_DECLARATIVE_NATIVE_CONFIG := $(QT_DECLARATIVE_COMMON_CONFIG) \
+       -DFEATURE_qml_animation=OFF \
+       -DFEATURE_qml_delegate_model=OFF \
+       -DFEATURE_qml_itemmodel=OFF \
+       -DFEATURE_qml_object-model=OFF \
+       -DFEATURE_qml_table-model=OFF \
+       -DFEATURE_quick_shadereffect=OFF \
+       -DFEATURE_quick_path=OFF \
+       -DCMAKE_TOOLCHAIN_FILE=$(BUILDPREFIX)/lib/cmake/Qt6/qt.toolchain.cmake \
 
 .qtdeclarative-tools: BUILD_DIR=$</vlc_native
 .qtdeclarative-tools: qtdeclarative
        $(CMAKECLEAN)
-       mkdir -p $(BUILD_DIR)
-       cd $(BUILD_DIR) && $(BUILDVARS) $(BUILDPREFIX)/bin/qt-configure-module 
$(BUILD_SRC) $(QT_DECLARATIVE_NATIVE_CONFIG) -- $(QT_DECLARATIVE_FEATURES)
+       $(BUILDVARS) $(CMAKE_NATIVE) $(QT_DECLARATIVE_NATIVE_CONFIG)
        +$(CMAKEBUILD)
        $(CMAKEINSTALL)
        touch $@
 
 .qtdeclarative: qtdeclarative toolchain.cmake
-       mkdir -p $(PREFIX)/libexec
        $(CMAKECLEAN)
-       mkdir -p $(BUILD_DIR)
-       +cd $(BUILD_DIR) && $(PREFIX)/bin/qt-configure-module $(BUILD_SRC) 
$(QT_DECLARATIVE_CONFIG) -- $(QT_DECLARATIVE_FEATURES)
+       $(HOSTVARS) $(CMAKE) $(QT_DECLARATIVE_CONFIG)
        +$(CMAKEBUILD)
        $(CMAKEINSTALL)
-
        touch $@


=====================================
contrib/src/qtshadertools/rules.mak
=====================================
@@ -41,6 +41,15 @@ 
$(TARBALLS)/qtshadertools-everywhere-src-$(QTSHADERTOOLS_VERSION).tar.xz:
 .sum-qtshadertools-tools: .sum-qtshadertools
        touch $@
 
+QT_SHADETOOLS_CONFIG := 
-DCMAKE_TOOLCHAIN_FILE=$(PREFIX)/lib/cmake/Qt6/qt.toolchain.cmake 
-DQT_HOST_PATH=$(BUILDPREFIX)
+ifdef ENABLE_PDB
+QT_SHADETOOLS_CONFIG += -DCMAKE_BUILD_TYPE=RelWithDebInfo
+else
+QT_SHADETOOLS_CONFIG += -DCMAKE_BUILD_TYPE=Release
+endif
+
+QT_SHADETOOLS_NATIVE_CONFIG := 
-DCMAKE_TOOLCHAIN_FILE=$(BUILDPREFIX)/lib/cmake/Qt6/qt.toolchain.cmake
+
 qtshadertools: qtshadertools-everywhere-src-$(QTSHADERTOOLS_VERSION).tar.xz 
.sum-qtshadertools
        $(UNPACK)
        $(APPLY) 
$(SRC)/qtshadertools/0001-Use-fxc2-through-wine-instead-of-fxc.patch
@@ -50,17 +59,14 @@ qtshadertools: 
qtshadertools-everywhere-src-$(QTSHADERTOOLS_VERSION).tar.xz .sum
 .qtshadertools-tools: BUILD_DIR=$</vlc_native
 .qtshadertools-tools: qtshadertools
        $(CMAKECLEAN)
-       mkdir -p $(BUILD_DIR)
-       cd $(BUILD_DIR) && $(BUILDVARS) $(BUILDPREFIX)/bin/qt-configure-module 
$(BUILD_SRC)
+       $(BUILDVARS) $(CMAKE_NATIVE) $(QT_SHADETOOLS_NATIVE_CONFIG)
        +$(CMAKEBUILD)
        $(CMAKEINSTALL)
        touch $@
 
 .qtshadertools: qtshadertools toolchain.cmake
        $(CMAKECLEAN)
-       mkdir -p $(BUILD_DIR)
-       +cd $(BUILD_DIR) && $(PREFIX)/bin/qt-configure-module $(BUILD_SRC)
+       $(HOSTVARS) $(CMAKE) $(QT_SHADETOOLS_CONFIG)
        +$(CMAKEBUILD)
        $(CMAKEINSTALL)
-
        touch $@


=====================================
contrib/src/qtsvg/rules.mak
=====================================
@@ -19,13 +19,20 @@ $(TARBALLS)/qtsvg-everywhere-src-$(QTSVG_VERSION).tar.xz:
 
 .sum-qtsvg: qtsvg-everywhere-src-$(QTSVG_VERSION).tar.xz
 
+QTSVG_CONFIG := 
-DCMAKE_TOOLCHAIN_FILE=$(PREFIX)/lib/cmake/Qt6/qt.toolchain.cmake
+ifdef ENABLE_PDB
+QTSVG_CONFIG += -DCMAKE_BUILD_TYPE=RelWithDebInfo
+else
+QTSVG_CONFIG += -DCMAKE_BUILD_TYPE=Release
+endif
+
 qtsvg: qtsvg-everywhere-src-$(QTSVG_VERSION).tar.xz .sum-qtsvg
        $(UNPACK)
        $(MOVE)
 
 .qtsvg: qtsvg toolchain.cmake
-       mkdir -p $(BUILD_DIR)
-       +cd $(BUILD_DIR) && $(PREFIX)/bin/qt-configure-module $(BUILD_SRC)
+       $(CMAKECLEAN)
+       $(HOSTVARS) $(CMAKE) $(QTSVG_CONFIG)
        +$(CMAKEBUILD)
        $(CMAKEINSTALL)
        touch $@


=====================================
contrib/src/qtwayland/rules.mak
=====================================
@@ -11,13 +11,20 @@ 
$(TARBALLS)/qtwayland-everywhere-src-$(QTWAYLAND_VERSION).tar.xz:
 
 .sum-qtwayland: qtwayland-everywhere-src-$(QTWAYLAND_VERSION).tar.xz
 
+QTWAYLAND_CONFIG := 
-DCMAKE_TOOLCHAIN_FILE=$(PREFIX)/lib/cmake/Qt6/qt.toolchain.cmake
+ifdef ENABLE_PDB
+QTWAYLAND_CONFIG += -DCMAKE_BUILD_TYPE=RelWithDebInfo
+else
+QTWAYLAND_CONFIG += -DCMAKE_BUILD_TYPE=Release
+endif
+
 qtwayland: qtwayland-everywhere-src-$(QTWAYLAND_VERSION).tar.xz .sum-qtwayland
        $(UNPACK)
        $(MOVE)
 
 .qtwayland: qtwayland toolchain.cmake
-       mkdir -p $(BUILD_DIR)
-       +cd $(BUILD_DIR) && $(PREFIX)/bin/qt-configure-module $(BUILD_SRC)
+       $(CMAKECLEAN)
+       $(HOSTVARS) $(CMAKE) $(QTWAYLAND_CONFIG)
        +$(CMAKEBUILD)
        $(CMAKEINSTALL)
        touch $@



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/b77311d30707112b2f3aa98259e076c6423df8d5...bd7b87511c714270bc74d024c438d0566afa1efe

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/b77311d30707112b2f3aa98259e076c6423df8d5...bd7b87511c714270bc74d024c438d0566afa1efe
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance
_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to