Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. qmake: What determines which shell is invoked?
Forum Updated to NodeBB v4.3 + New Features

qmake: What determines which shell is invoked?

Scheduled Pinned Locked Moved Unsolved Qt Creator and other tools
4 Posts 2 Posters 1.1k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    Eric P
    wrote on last edited by
    #1

    We recently migrated our build server to a different machine (Windows 7 to Windows 7), and builds are now failing in steps added to QMAKE_POST_LINK which include calls to shell_path(). These post-build steps executed windeployqt and copied files over to a deploy directory from which an installer is later built. Specifically, all calls to shell_path() return paths in UNIX format, even though this is a Windows 7 machine. The prior machine returned Windows paths as expected. Example:

    path input to shell_path('C:/A/B')
    returns the following: /C/A/B
    instead of what was returned on our previous build server and a local windows box: C:\A\B

    The description of this function (http://doc.qt.io/qt-5/qmake-function-reference.html#shell-path-path) states:
    "Converts all directory separators within path to separators that are compatible with the shell that is used while building the project (that is, the shell that is invoked by the make tool). For example, slashes are converted to backslashes when the Windows shell is used."

    What environment variable or other setting determines what shell is invoked by qmake?

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi and welcome to devnet,

      Anything that changed when you migrated ? e.g. Qt version ? Compiler used ? Build environment ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • E Offline
        E Offline
        Eric P
        wrote on last edited by
        #3

        No changes that I know of. QT version was the same (5.3) with the same compiler (minGW 4.8.2). I recreated that same setup on a local machine in a VM, where the behavior was as expected (generated Windows paths). I also did a complete re-install of QT on the server and the behavior didn't change.

        Hence, I thought I'd ask how QT determines what shell to invoke, as that seems to be the piece I don't yet understand.

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          AFAIK, qmake works with the Windows command line. The fact that you're using MinGW doesn't influence in that respect. Do you have any special shell on your machine ?

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved