diff --git a/docs/msw/install.md b/docs/msw/install.md index 9b54f0babd..0e2129a4e1 100644 --- a/docs/msw/install.md +++ b/docs/msw/install.md @@ -580,3 +580,5 @@ backends are avaiable here. @subpage plat_msw_msys2_gtk "Building with Win32 MSys2 GDK backend" @subpage plat_msw_gtk "Building wxGTK port with Win32 GDK backend" + +@subpage plat_msw_msys2_qt "Building with Win32 MSys2 Qt backend" diff --git a/docs/msw/msys2-gtk.md b/docs/msw/msys2-gtk.md index e6cb03567a..40a3057d2d 100644 --- a/docs/msw/msys2-gtk.md +++ b/docs/msw/msys2-gtk.md @@ -18,43 +18,37 @@ For the MSys2 way please see Building steps: -**Warning**: At the time these directions were written the GTK version 3 - was NOT able to create wxGTK/Win32 libraries that were usable. - -1. Install the mingw32 packages needed to build wxGTK/Win32 using the +A. Install the MSys2 mingw packages needed to build wxGTK/Win32 using the configure/make build method. - From the MSys2 prompt or MSys2 MinGW prompt: - - The 32 bit Mingw packages are prefixed with "mingw-w64-i686-"; - Change the prefix to "mingw-w64-x86_64-" if you wish to do 64 bit. + From the MSys2 MinGW prompt: pacman -S --needed --noconfirm make - pacman -S --needed --noconfirm mingw-w64-i686-libjpeg-turbo - pacman -S --needed --noconfirm mingw-w64-i686-libpng - pacman -S --needed --noconfirm mingw-w64-i686-libtiff - pacman -S --needed --noconfirm mingw-w64-i686-gcc - pacman -S --needed --noconfirm mingw-w64-i686-pkg-config - ## gtk2 can take a long time to update/find fonts - pacman -S --needed --noconfirm mingw-w64-i686-gtk2 + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-libjpeg-turbo + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-libpng + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-libtiff + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gcc + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-pkg-config + ## gtk3 can take a long time to update/find fonts + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gtk3 Packages that are needed but are normally installed already. - pacman -S --needed --noconfirm mingw-w64-i686-gcc-libs - pacman -S --needed --noconfirm mingw-w64-i686-expat - pacman -S --needed --noconfirm mingw-w64-i686-xz - pacman -S --needed --noconfirm mingw-w64-i686-zlib - pacman -S --needed --noconfirm mingw-w64-i686-gdk-pixbuf2 + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gcc-libs + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-expat + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-xz + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-zlib + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gdk-pixbuf2 -2. Build the wxGTK/Win32 static library +B. Build the wxGTK/Win32 static library 1. Open MSys2 MinGW Prompt - (These steps were tested on MinGW32; but, should work under MinGW64) + (These steps were tested on MinGW64; but, should work under MinGW32) 2. Use the cd command to change directory to the wxWidgets top folder. - 3. Create the "build-gtk2-static" folder to build the static libraries + 3. Create the "build-${MSYSTEM_CARCH}-gtk3-static" folder to build the static libraries - mkdir -p build-gtk2-static + mkdir -p build-${MSYSTEM_CARCH}-gtk3-static 4. Configure wxWidgets Option "--disable-precomp-headers" is NOT needed. @@ -63,8 +57,8 @@ Building steps: Remove configure option "--disable-wxdib" to set wxUSE_WXDIB to 1. The directions docs/msw/gtk.txt results in wxUSE_WXDIB set to 1. - cd build-gtk2-static && \ - ../configure --with-gtk=2 \ + cd build-${MSYSTEM_CARCH}-gtk3-static && \ + ../configure --with-gtk=3 \ --disable-wxdib \ --disable-shared \ --disable-precomp-headers \ @@ -72,53 +66,53 @@ Building steps: 5. clean the wxGTK static libraries - cd build-gtk2-static && make clean && cd .. + cd build-${MSYSTEM_CARCH}-gtk3-static && make clean && cd .. 6. make the wxGTK static libraries - cd build-gtk2-static && make && cd .. + cd build-${MSYSTEM_CARCH}-gtk3-static && make && cd .. -3. Build and run the minimal static sample +C. Build and run the minimal static sample 1. Clean the minimal sample - cd build-gtk2-static/samples/minimal && make clean && cd ../../.. + cd build-${MSYSTEM_CARCH}-gtk3-static/samples/minimal && make clean && cd ../../.. 2. Build the minimal sample - cd build-gtk2-static/samples/minimal && make && cd ../../.. + cd build-${MSYSTEM_CARCH}-gtk3-static/samples/minimal && make && cd ../../.. 3. Run the minimal sample - ./build-gtk2-static/samples/minimal/minimal.exe + ./build-${MSYSTEM_CARCH}-gtk3-static/samples/minimal/minimal.exe -4. Build most of the static samples +D. Build most of the static samples 1. Clean most of the static samples - cd build-gtk2-static/samples && make clean && cd ../.. + cd build-${MSYSTEM_CARCH}-gtk3-static/samples && make clean && cd ../.. 2. Build most of the static samples - cd build-gtk2-static/samples && make && cd ../.. + cd build-${MSYSTEM_CARCH}-gtk3-static/samples && make && cd ../.. -5. Run the drawing static sample +E. Run the drawing static sample - cd samples/drawing && ../../build-gtk2-static/samples/drawing/drawing.exe && cd ../.. + cd samples/drawing && ../../build-${MSYSTEM_CARCH}-gtk3-static/samples/drawing/drawing.exe && cd ../.. -6. Run the splash static sample +F. Run the splash static sample - cd samples/splash && ../../build-gtk2-static/samples/splash/splash.exe && cd ../.. + cd samples/splash && ../../build-${MSYSTEM_CARCH}-gtk3-static/samples/splash/splash.exe && cd ../.. -7. Run the widgets static sample +G. Run the widgets static sample - cd samples/widgets && ../../build-gtk2-static/samples/widgets/widgets.exe && cd ../.. + cd samples/widgets && ../../build-${MSYSTEM_CARCH}-gtk3-static/samples/widgets/widgets.exe && cd ../.. -8. Run the toolbar static sample +H. Run the toolbar static sample - cd samples/toolbar && ../../build-gtk2-static/samples/toolbar/toolbar.exe && cd ../.. + cd samples/toolbar && ../../build-${MSYSTEM_CARCH}-gtk3-static/samples/toolbar/toolbar.exe && cd ../.. -9. Run the image static sample +I. Run the image static sample - cd samples/image && ../../build-gtk2-static/samples/image/image.exe && cd ../.. + cd samples/image && ../../build-${MSYSTEM_CARCH}-gtk3-static/samples/image/image.exe && cd ../.. diff --git a/docs/msw/msys2-msw.md b/docs/msw/msys2-msw.md index a0bdedd853..3b8aafe66e 100644 --- a/docs/msw/msys2-msw.md +++ b/docs/msw/msys2-msw.md @@ -11,35 +11,32 @@ For the MSys2 way please see https://github.com/Alexpux/MINGW-packages Building steps: -1. Install the mingw32 packages needed to build wxMSW using the +A. Install the mingw32 packages needed to build wxMSW using the configure/make build method. - From the MSys2 prompt or MSys2 MinGW prompt: - - The 32 bit Mingw packages are prefixed with "mingw-w64-i686-"; - Change the prefix to "mingw-w64-x86_64-" if you wish to do 64 bit. + From the MSys2 MinGW prompt: pacman -S --needed --noconfirm make - pacman -S --needed --noconfirm mingw-w64-i686-libjpeg-turbo - pacman -S --needed --noconfirm mingw-w64-i686-libpng - pacman -S --needed --noconfirm mingw-w64-i686-libtiff - pacman -S --needed --noconfirm mingw-w64-i686-gcc + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-libjpeg-turbo + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-libpng + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-libtiff + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gcc Packages that are needed but are normally installed already. - pacman -S --needed --noconfirm mingw-w64-i686-gcc-libs - pacman -S --needed --noconfirm mingw-w64-i686-expat - pacman -S --needed --noconfirm mingw-w64-i686-xz - pacman -S --needed --noconfirm mingw-w64-i686-zlib + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gcc-libs + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-expat + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-xz + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-zlib -2. Build the wxMSW static library +B. Build the wxMSW static library 1. Open MSys2 MinGW Prompt - (These steps were tested on MinGW32; but, should work under MinGW64) + (These steps were tested on MinGW64; but, should work under MinGW32) 2. Use the cd command to change directory to the wxWidgets top folder. - 3. Create the "build-msw-static" folder to build the static libraries + 3. Create the "build-${MSYSTEM_CARCH}-msw-static" folder to build the static libraries - mkdir -p build-msw-static + mkdir -p build-${MSYSTEM_CARCH}-msw-static 4. Configure wxWidgets @@ -48,7 +45,7 @@ Building steps: And, I think my old 32 bit Windows machine works best with it disabled. - cd build-msw-static && \ + cd build-${MSYSTEM_CARCH}-msw-static && \ ../configure --with-msw \ --disable-shared \ --disable-precomp-headers \ @@ -56,46 +53,46 @@ Building steps: 5. make the wxMSW static libraries - cd build-msw-static && make && cd .. + cd build-${MSYSTEM_CARCH}-msw-static && make && cd .. -3. Build and run the minimal static sample +C. Build and run the minimal static sample 1. Clean the minimal sample - cd build-msw-static/samples/minimal && make clean && cd ../../.. + cd build-${MSYSTEM_CARCH}-msw-static/samples/minimal && make clean && cd ../../.. 2. Build the minimal sample - cd build-msw-static/samples/minimal && make && cd ../../.. + cd build-${MSYSTEM_CARCH}-msw-static/samples/minimal && make && cd ../../.. 3. Run the minimal sample - ./build-msw-static/samples/minimal/minimal.exe + ./build-${MSYSTEM_CARCH}-msw-static/samples/minimal/minimal.exe -4. Clean the static samples +D. Clean the static samples - cd build-msw-static/samples && make clean && cd ../.. + cd build-${MSYSTEM_CARCH}-msw-static/samples && make clean && cd ../.. -5. Build and run the typetest static sample to verify MIME database works +E. Build and run the typetest static sample to verify MIME database works - cd build-msw-static/samples/typetest && make && cd ../../.. - ./build-msw-static/samples/typetest/typetest.exe + cd build-${MSYSTEM_CARCH}-msw-static/samples/typetest && make && cd ../../.. + ./build-${MSYSTEM_CARCH}-msw-static/samples/typetest/typetest.exe -6. Build and run the drawing static sample +F. Build and run the drawing static sample - cd build-msw-static/samples/drawing && make && cd ../../.. - cd samples/drawing && ../../build-msw-static/samples/drawing/drawing.exe && cd ../.. + cd build-${MSYSTEM_CARCH}-msw-static/samples/drawing && make && cd ../../.. + cd samples/drawing && ../../build-${MSYSTEM_CARCH}-msw-static/samples/drawing/drawing.exe && cd ../.. -7. Build and run the splash static sample +G. Build and run the splash static sample - cd build-msw-static/samples/splash && make && cd ../../.. - cd samples/splash && ../../build-msw-static/samples/splash/splash.exe && cd ../.. + cd build-${MSYSTEM_CARCH}-msw-static/samples/splash && make && cd ../../.. + cd samples/splash && ../../build-${MSYSTEM_CARCH}-msw-static/samples/splash/splash.exe && cd ../.. -8. Build and run the widgets static sample +H. Build and run the widgets static sample - cd build-msw-static/samples/widgets && make && cd ../../.. - cd samples/widgets && ../../build-msw-static/samples/widgets/widgets.exe && cd ../.. + cd build-${MSYSTEM_CARCH}-msw-static/samples/widgets && make && cd ../../.. + cd samples/widgets && ../../build-${MSYSTEM_CARCH}-msw-static/samples/widgets/widgets.exe && cd ../.. -9. Build all the rest of the static samples +I. Build all the rest of the static samples - cd build-msw-static/samples && make && cd ../.. + cd build-${MSYSTEM_CARCH}-msw-static/samples && make && cd ../.. diff --git a/docs/msw/msys2-qt.md b/docs/msw/msys2-qt.md new file mode 100644 index 0000000000..16ab817143 --- /dev/null +++ b/docs/msw/msys2-qt.md @@ -0,0 +1,118 @@ +Building wxQT port with Win32 MSys2 Qt5 backend {#plat_msw_msys2_qt} +------------------------------------------------ + +The MSys2 website is http://www.msys2.org/ + +These building steps are NOT the normal way to build MSys2 MinGW packages. +But, they are a way the wxWidgets developers can test that wxWidgets +can build the wxQT/Win32 libraries under MSys2 MinGW. + +For the MSys2 way please see + https://github.com/Alexpux/MINGW-packages and + https://github.com/msys2/msys2/wiki/Creating-packages + +Building steps: + +A. Install the MSys2 mingw packages needed to build wxQT/Win32 using the + configure/make build method. + From the MSys2 MinGW prompt: + + pacman -S --needed --noconfirm make + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-libjpeg-turbo + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-libpng + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-libtiff + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gcc + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-pkg-config + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-qt5 + + + Packages that are needed but are normally installed already. + + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gcc-libs + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-expat + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-xz + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-zlib + pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gdk-pixbuf2 + + +B. Build the wxQT/Win32 static library + 1. Open MSys2 MinGW Prompt + (These steps were tested on MinGW64; but, should work under MinGW32) + 2. Use the cd command to change directory to the wxWidgets top folder. + + 3. Create the "build-${MSYSTEM_CARCH}-qt-static" folder to build the static libraries + + mkdir -p build-${MSYSTEM_CARCH}-qt-static + + 4. Configure wxWidgets + Option "--disable-precomp-headers" is NOT needed. + It is being used to test for compile issues. + + Remove configure option "--disable-wxdib" to set wxUSE_WXDIB to 1. + At the time these directions where written wxUSE_WXDIB set to 1 + resulted in build error in dnd sample and run-time errors in + other samples. + + cd build-${MSYSTEM_CARCH}-qt-static && \ + ../configure --with-qt \ + --disable-wxdib \ + --disable-shared \ + --disable-precomp-headers \ + && cd .. + + 5. clean the wxQT static libraries + + cd build-${MSYSTEM_CARCH}-qt-static && make clean && cd .. + + 6. make the wxQT static libraries + + cd build-${MSYSTEM_CARCH}-qt-static && make && cd .. + + +C. Build and run the minimal static sample + 1. Clean the minimal sample + + cd build-${MSYSTEM_CARCH}-qt-static/samples/minimal && make clean && cd ../../.. + + 2. Build the minimal sample + + cd build-${MSYSTEM_CARCH}-qt-static/samples/minimal && make && cd ../../.. + + 3. Run the minimal sample + + ./build-${MSYSTEM_CARCH}-qt-static/samples/minimal/minimal.exe + + +D. Build most of the static samples + 1. Clean most of the static samples + + cd build-${MSYSTEM_CARCH}-qt-static/samples && make clean && cd ../.. + + 2. Build most of the static samples + + cd build-${MSYSTEM_CARCH}-qt-static/samples && make && cd ../.. + + +E. Run the drawing static sample + + cd samples/drawing && ../../build-${MSYSTEM_CARCH}-qt-static/samples/drawing/drawing.exe && cd ../.. + +F. Run the splash static sample + + cd samples/splash && ../../build-${MSYSTEM_CARCH}-qt-static/samples/splash/splash.exe && cd ../.. + +G. Run the widgets static sample + + cd samples/widgets && ../../build-${MSYSTEM_CARCH}-qt-static/samples/widgets/widgets.exe && cd ../.. + +H. Run the toolbar static sample + + cd samples/toolbar && ../../build-${MSYSTEM_CARCH}-qt-static/samples/toolbar/toolbar.exe && cd ../.. + +I. Run the image static sample + + cd samples/image && ../../build-${MSYSTEM_CARCH}-qt-static/samples/image/image.exe && cd ../.. + +J. Run the dnd static sample + + cd samples/dnd && ../../build-${MSYSTEM_CARCH}-qt-static/samples/dnd/dnd.exe && cd ../..