Skip to content

Instantly share code, notes, and snippets.

@kassane
Last active October 3, 2023 11:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kassane/57fc0024e950ddd730adcdaad6e996b9 to your computer and use it in GitHub Desktop.
Save kassane/57fc0024e950ddd730adcdaad6e996b9 to your computer and use it in GitHub Desktop.
[draft] Qt6 + KF6 for windows/mingw
# Image: stateoftheartio/qt6:6.5-mingw-aqt
FROM stateoftheartio/qt6:6.5-mingw-aqt
ARG ECM_DIR=${QT_PATH}\\share\\ECM
ENV DEBIAN_FRONTEND=noninteractive \
DEBCONF_NONINTERACTIVE_SEEN=true \
QT_PATH=${QT_PATH} \
ECM_DIR=${ECM_DIR} \
WINEDEBUG=-all
RUN git clone --recursive https://github.com/steveire/grantlee.git; \
cd grantlee && qt-cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DGRANTLEE_BUILD_WITH_QT6=ON -DBUILD_TESTS=OFF; \
cmake --build build --config release && cmake --install build --prefix ${QT_PATH}; \
cd ..
RUN sudo apt update && sudo apt install -y python3
ADD CI-Craft-Deploy-Config.ini CI-Craft-Packages.list ${QT_PATH}
RUN git clone --recursive https://invent.kde.org/sysadmin/ci-utilities.git ${QT_PATH}/ci-utilities; \
git clone --recursive https://invent.kde.org/packaging/craftmaster.git ${QT_PATH}/craftmaster; \
# git clone --recursive https://github.com/KDE/syntax-highlighting.git; \
# git clone --recursive https://github.com/KDE/extra-cmake-modules.git; \
# git clone --recursive https://github.com/KDE/kconfig.git; \
# git clone --recursive https://github.com/KDE/kconfigwidgets.git; \
# git clone --recursive https://github.com/KDE/kcoreaddons.git; \
# git clone --recursive https://github.com/KDE/kguiaddons.git; \
# git clone --recursive https://github.com/KDE/kwidgetsaddons.git; \
# git clone --recursive https://github.com/KDE/kdeclarative.git; \
# git clone --recursive https://invent.kde.org/frameworks/ki18n.git
python3 ${QT_PATH}/craftmaster/CraftMaster.py --config ${QT_PATH}/ci-utilities/craft/qt6/CraftConfig.ini \
--config-override ${QT_PATH}/CI-Craft-Deploy-Config.ini --target=windows-mingw_64-gcc -c -i --no-cache \
--options virtual.ignored=True craft \
&& python3 ${QT_PATH}/craftmaster/CraftMaster.py --config ${QT_PATH}/ci-utilities/craft/qt6/CraftConfig.ini \
--config-override ${QT_PATH}/CI-Craft-Deploy-Config.ini --target=windows-mingw_64-gcc -c \
--list-file ${QT_PATH}/CI-Craft-Packages.list
# RUN cd extra-cmake-modules; \
# qt-cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release; \
# cmake --install build --config release --prefix ${QT_PATH}; \
# cd ..
# RUN cd kconfig; \
# qt-cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF; \
# cmake --build build --config release; \
# cmake --install build --config release --prefix ${QT_PATH}; \
# cd ..
# RUN cd kguiaddons; \
# qt-cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF; \
# cmake --build build --config release; \
# cmake --install build --config release --prefix ${QT_PATH}; \
# cd ..
# RUN cd kwidgetsaddons; \
# qt-cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF; \
# cmake --build build --config release; \
# cmake --install build --config release --prefix ${QT_PATH}; \
# cd ..
# RUN cd kcoreaddons; \
# qt-cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF; \
# cmake --build build --config release; \
# cmake --install build --config release --prefix ${QT_PATH}; \
# cd ..
# RUN git clone --recursive https://github.com/apache/xerces-c.git; \
# cd xerces-c && qt-cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release; \
# cmake --build build --config release && cmake --install build --prefix ${QT_PATH}; \
# cd ..
# RUN cd ki18n; \
# qt-cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF; \
# cmake --build build --config release; \
# cmake --install build --config release --prefix ${QT_PATH}; \
# cd ..
# RUN cd kdeclarative; \
# qt-cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF; \
# cmake --build build --config release; \
# cmake --install build --config release --prefix ${QT_PATH}; \
# cd ..
# ENV PATH=${PATH}:${QT_PATH}:${QT_PATH}/perl/bin
# RUN sudo apt update && sudo apt install -y unzip curl; \
# curl -LO https://strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-64bit.zip && \
# unzip strawberry-perl-5.32.1.1-64bit.zip -d${QT_PATH} ;
# RUN cd syntax-highlighting; \
# qt-cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DKSYNTAXHIGHLIGHTING_USE_GUI=OFF -DBUILD_TESTING=OFF -DCMAKE_PREFIX_PATH=${QT_PATH}; \
# cmake --build build; \
# cmake --install build --config release --prefix ${QT_PATH}; \
# cd ..
RUN rm -fr grantlee
# kconfig kconfigwidgets kguiaddons \
# syntax-highlighting extra-cmake-modules kcore ki18n \
# kcoreaddons
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment