1. 12 Dec, 2017 1 commit
  2. 08 Dec, 2017 1 commit
    • hjk's avatar
      ProjectExplorer/all: Re-organize BuildSteps/{Deploy,Build}Config setup · 53a15107
      hjk authored
      This follow the rough pattern of recent *RunConfigurationFactory changes
      for build and deploy configurations.
      
      - Collapse the two lines of constructors similar to what
        890c1906
      
       did for RunConfigurations
        * Deploy* was purely mechanical
        * Build* ctors are split in connects() in the ctor body
          to create "empty shell for clone" etc
          and build step additions in initialize() functions which
          are only used in the create() case.
        -- Allows to collapse the shared 'ctor()' functions, too.
      
      - Move FooBuildConfigurationFactory::create() implementations
        to FooBuildConfiguration() constructor. That was a strange
        and unneeded ping-pong between factories and objects, and
        furthermore allows one level less of indirection (and for a
        later, left out here, some reduction of the
        FooBuildConfiguration interfaces that were only used to
        accommodate the *Factory::create() functions.
      
      - Most {Build,Deploy}Configuration{,Factory} classes had a canHandle(),
        but there wasn't one in the base classses. Have one there.
      
      - Most canHandle() functions were checking simple restrictions on
        e.g. project or target types, specify those by setters in the
        constructors instead and check them in the base canHandle()
      
      - clone() is generally replaced by a creation of a "shell object"
        and a fromMap(source->toMap()), implemented in the base, there
        are two cases left for Android and Qbs that needed(?) some extra
        polish
      
      - generally use canHandle() in base implementation, instead
        of doing that in all Derived::canFoo()
      
      - as a result, canCreate/create/canClone/clone reimplementations
        are not needed anymore, keep the base implementation for
        now (could be inlined into their only users later), but
        de-virtualize them.
      
      - Combine Ios{Preset,DSym}BuildStepFactory. There was only one
        'dsym' build step they could create.
      
      - Split the 'mangled' id into the ProjectConfiguration subtype
        specific constant identifier, and a QString extraId() bit.
        Only maintain the mangled id in saved settings.
      
      - Make ProjectConfiguration::m_id a constant member, adapt
        all constructors of derived classe.
      
      Not done in this patch:
      
      - Finish possible cosmetic changes on top
      
      - Add a way to specify restrictions to supported Qt versions
        (used in Android/Ios), as the base implementation does not
        depend on the qtsupport plugin
      
      - Combine the QList<X> availableFoo() + createFoo(X) function
        pairs to somthing like a direct
         QList<struct { X; std::function<X()>; }> fooCreators()
        to avoid e.g. the baseId.withSuffix() <-> id.suffixAfter(base)
        pingpong
      
      - Remove the *Factories from the global object pool
      
      - Do something about priority(). Falling back to plain
        qmake in android+qmake setup is not helpful.
      
      Change-Id: I2be7d88d554c5aa8b7db8edf5b93278e1ae0112a
      Reviewed-by: Tobias Hunger's avatarTobias Hunger <tobias.hunger@qt.io>
      53a15107
  3. 28 Nov, 2017 1 commit
  4. 06 Nov, 2017 1 commit
  5. 18 Oct, 2017 2 commits
    • Tobias Hunger's avatar
      BuildConfiguration: Make method name clearer · 81321239
      Tobias Hunger authored
      
      
      Make it clear that emitEnvironmentChanged also updates the cache of the
      current environment.
      
      Change-Id: I012c5a2b3d7d4037ed609b26e053ce0ce36f6cec
      Reviewed-by: Eike Ziller's avatarEike Ziller <eike.ziller@qt.io>
      81321239
    • Tobias Hunger's avatar
      ProjectExplorer: Do not prepend compiler path to PATH everywhere! · 10cb0b77
      Tobias Hunger authored
      
      
      Do not unconditionally prepend the (c++) compiler path to PATH for
      all projects using GCC-derived toolchains.
      
      Prepend the compiler path in the Qmake- and GenericBuildConfigurations
      instead.
      
      Also change the order: Apply buildconfiguration's addToEnvironment first,
      only then apply the kit's addToEnvironment.
      
      This does change a few things:
       * CMake and Qbs will now get the normal PATH
       * MSVC compilers will have their compiler path prepended to PATH
         by the effected BuildConfigurations. This should be harmless,
         since that happens before the environment setup script is appended.
      
      Task-number: QTCREATORBUG-18714
      Change-Id: I548182bc447d80d24f4de4ce7cf12ee1a753ed26
      Reviewed-by: Eike Ziller's avatarEike Ziller <eike.ziller@qt.io>
      10cb0b77
  6. 13 Sep, 2017 1 commit
    • hjk's avatar
      ProjectExplorer: Re-organize RunConfiguration constructors · 890c1906
      hjk authored
      
      
      The idea is to massage the setup in a way to make implementation
      of new configurations less error prone by identifying recurring patterns
      and sharing repetitive code that tends to be forgotten (see Android cloning).
      
      The former two lines of constructors (owner-and-id, owner-and-source)
      are split into a simple, shared, constructor and new setId() and
      copyFrom() functions.
      
      The change is mostly mechanical, some multiple calls to fromMap
      have been removed, though, some consts added.
      
      Otherwise, to keep the patch small it temporarily introduces two
      helper templates in IRunConfigurationFactory. Also, setId() signatures
      have not been unified yet. These won't be needed in the final setup.
      
      Change-Id: I8c0734496caae744a9883fe6d92c1d8f8e0234ea
      Reviewed-by: default avatarhjk <hjk@qt.io>
      890c1906
  7. 02 Aug, 2017 1 commit
  8. 31 Jul, 2017 1 commit
  9. 27 Jan, 2017 1 commit
  10. 05 Dec, 2016 1 commit
  11. 26 Aug, 2016 1 commit
  12. 21 Jul, 2016 1 commit
  13. 15 Apr, 2016 1 commit
  14. 01 Feb, 2016 1 commit
  15. 19 Jan, 2016 1 commit
  16. 16 Nov, 2015 1 commit
  17. 23 Oct, 2015 1 commit
  18. 13 Feb, 2015 1 commit
    • Daniel Teske's avatar
      Android: Set correct ANDROID_NDK_PLATFORM · e7b90b86
      Daniel Teske authored
      
      
      Introduce the class AndroidQmakeBuildConfiguration whose purpose is
      to set the environment variable. Modify the Factory to create
      buildconfigurations of that type and fix restore/clone to also
      take the factories' priorities into account.
      
      Change-Id: Icb377fa9211cd3564c36b60cf7c5f7dd84fcab50
      Reviewed-by: default avatarBogDan Vatra <bogdan@kde.org>
      e7b90b86
  19. 16 Jan, 2015 1 commit
  20. 05 Nov, 2014 2 commits
  21. 23 Oct, 2014 1 commit
  22. 22 Oct, 2014 2 commits
  23. 16 Oct, 2014 1 commit
  24. 14 Oct, 2014 2 commits
  25. 09 Oct, 2014 2 commits
  26. 16 Jul, 2014 2 commits
  27. 01 Jul, 2014 1 commit
    • Christian Kandeler's avatar
      Always pass Core::Id by value. · 93304df0
      Christian Kandeler authored
      
      
      Currently we pass in some places by value, elsewhere by const ref and
      for some weird reason also by const value in a lot of places. The latter
      is particularly annoying, as it is also used in interfaces and therefore
      forces all implementors to do the same, since leaving the "const" off is
      causing compiler warnings with MSVC.
      
      Change-Id: I65b87dc3cce0986b8a55ff6119cb752361027803
      Reviewed-by: default avatarhjk <hjk121@nokiamail.com>
      93304df0
  28. 25 Jun, 2014 1 commit
  29. 19 Jun, 2014 1 commit
  30. 16 Jun, 2014 2 commits
  31. 05 Jun, 2014 1 commit
  32. 12 May, 2014 1 commit
  33. 06 May, 2014 1 commit