Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-17555

"CMake configuration has changed on disk" dialog issues

    XMLWordPrintable

Details

    Description

      When opening the project in QtCreator I see the dialog saying

      The CMakeCache.txt file has changed:
      CMAKE_CXX_COMPILER c:/Program Files (x86)/Microsoft Visual Studio/10.0/VC/bin/amd64/cl.exe

      1) could it tell me the value it expected instead? A bit like a diff viewer, it would be useful to see "QtCreator expected this" and "cmake cache contained this".
      Because in this particular case, the kit does point to this compiler, so this dialog has no reason to come up.

      2) I think the reason it comes up is that the expected value is the same, just with C: and BIN uppercase. Does QtCreator use a case-sensitive check for this? It should be case-insensitive, at least on Windows.

      3) the dialog says "CMake configuration has changed on disk" but that's an assumption, it assumes that the cmakecache was initially created by QtCreator. In many cases (kdesrc-build when I work on KDE, or python file running cmake when I work on a customer project) cmake is first run independently, and only then does the developer try to use QtCreator to work on the project. This requires setting up kits and stuff to match what was already set up externally, it would be nice to be able to just say "work on this existing configured project, don't bother me with configuration at all".

      So point 3 is either

      3a) a suggestion to change the text in the dialog to "CMakeCache.txt on disk does not match project configuration in QtCreator" or something like that.
      (i.e. not saying "has changed" since that might not be the truth), or

      3b) a much bigger suggestion to support the workflow where cmake is run externally and might be using a compiler / Qt version / etc. that is not even configured in QtCreator. In that case the dialog wouldn't even pop up, and the current text remains valid

      4) I saw in git master that Discard/Apply were replaced with "Overwrite Changes in CMake" and "Apply Changes to Project" which is a little bit better but even that still isn't fully clear as a user. Although I suspect that suggestion 3a) above would help because it would make it clearer that Project = the project as configured in QtCreator, this was part of the confusion for me.
      Anyhow if the dialog is changed to look like a diff with two columns, then the buttons can be simplified to "use this" or "use that" under each column.

      Attachments

        Issue Links

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

          Activity

            People

              hunger Tobias Hunger
              dfaure_kdab David Faure
              Votes:
              16 Vote for this issue
              Watchers:
              18 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes