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

Android launch wrapper script can conflict with qml subdirectory name on case insensitive file systems

XMLWordPrintable

    • Android
    • a5028fe2d (dev), 6e936f470 (6.10), 381468e2e (6.9), 0f504076c (tqtc/lts-6.8)
    • 2025wk34s2QtforAndroid

      Starting with https://codereview.qt-project.org/c/qt/qtbase/+/596169
      the build system generates a wrapper script to allow to easily launch an android app.

      In certain projects the wrapper script and a qml module's directory name can clash, resulting in the wrapper script not being created, or worse, changing the permissions of the build dir removing write access, causing weird build errors.

      An example is the hangman demo from qtdoc repo.

      We should either consider renaming the wrapper script (and its uses in Qt Creator) to not conflict with the subdirectory name.
      Or modify such projects to have a different app name and URI, and try to warn when such a case is detected.

      Detecting such a case is difficult though, especially if it's not due to qml modules, but just a regular add_subdirectory() call. Cmake doesn't do us any favors in this case.

      In case of the hangman project, it does set the OUTPUT_NAME of the app target to something else, so it doesn't conflict. In this respect the fact that _qt_internal_android_create_runner_wrapper doesn't read it is a bug. But if we teach it to follow what OUTPUT_NAME says, we still need to modify Qt Creator, and older Creators will fail to find the file for older Qts.

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

            assam Assam Boudjelthia
            alexandru.croitor Alexandru Croitor
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: