Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-48876

qmake on Windows generates wrong Makefile when MSys2/sh.exe is in the PATH

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P2: Important P2: Important
    • None
    • 5.5.0, 5.5.1
    • Build tools: qmake
    • None

      Using

      • MSVC 2012,
      • Jom

      MSys2/usr/bin/sh.exe is in the PATH

      Configuration

      call "%_qt_src_dir%\configure.bat"^
        -opensource^
        -confirm-license^
        -prefix "%_install_dir%"^
        -platform win32-msvc2012^
        -make-tool jom^
        -xplatform android-g++^
        -debug-and-release^
        -no-warnings-are-errors^
        -android-ndk-platform %ANDROID_NDK_PLATFORM%^
        -android-arch %ANDROID_TARGET_ARCH%^
        -android-toolchain-version %ANDROID_NDK_TOOLCHAIN_VERSION%^
        -opengl es2^
        -nomake examples^
        -nomake tests^
        -no-incredibuild-xge
      

      Atfer configure.exe was built and run, the top level Makefile contains

      ...
      MKDIR         = mkdir -p
      COPY          = cp -f
      ..
      

      i.e. it contains commands for UNIX or MSYS shell. The mkdir -p command can not be run in the Cmd shell, because the internal command mkdir has no such option and it has a priority over MSys2/usr/bin/sh.exe.

      But if MSys2/usr/bin/sh.exe is removed from the PATH, then the top level Makefile (and others, generated by qmake) has the correct Windows Cmd shell commands.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            qtbuildsystem Qt Build System Team
            dmitry.sokolov Dmitry Sokolov
            Votes:
            3 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes