aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qnx/qnxtoolchain.h
Commit message (Collapse)AuthorAgeFilesLines
* ProjectExplorer: De-QObject-ify ToolChainFactoryhjk2020-02-271-2/+2
| | | | | | | As collateral damage, use a capital C in KeilToolchain*. Change-Id: If9d64de2108366546683144975d975d9d1727712 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Use data member for ToolChain::typeDisplayNamehjk2019-06-201-2/+0
| | | | | Change-Id: Ia78ea3f8628b759706c5b024d687d917b203ec4d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: (Re-)start using strings for mkspecshjk2019-05-281-1/+1
| | | | | | | | Even if this is part of a directory name it is naturally closer to a "string" id than a file path. Change-Id: If66f930526744379ce86e2b18bd9eac7fabfe773 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Use a member for ToolChainFactory::canCreatehjk2019-05-131-2/+0
| | | | | | | ... in all but one case (ClangCL, which is special). Change-Id: I6429f2f37b18524c29b6be78801ea0e5517cad4c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Use functor for ToolChain creation in ToolChainFactoryhjk2019-05-131-3/+0
| | | | | Change-Id: I935eecab2f16618a2a5b34d31a79672db82c3398 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Drop Detection argument from ToolChain constructorhjk2019-05-101-1/+1
| | | | | | | | | | | | | This was used wildly inconsistently. Use a setter instead in circumstances where the context is reasonably clear. The assumption is that this will always be done at some time in all code paths. Use a new 'Uninitialized' value to avoid triggering the first update. Change-Id: I82c38cb9da3ccdbd8fbae8beefcbfa0e559ff794 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Simplify ToolChainFactory::create() signaturehjk2019-05-091-2/+1
| | | | | Change-Id: I9d579898387609fa7374f43633711a978bb36d93 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Replace ToolChainFactory::supportedLanguangehjk2019-05-091-2/+0
| | | | | | | ... by a member-based approach. Change-Id: I5c7fef196df6c37fd26c60a58c774426eca562a0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Replace ToolChainFactory::canRestorehjk2019-05-091-1/+0
| | | | | | | ... by a member-based check. Change-Id: Id7d19e488695e76ea17cf2d02c7b6eb2cd0246cc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Qnx: ModernizeAlessandro Portale2018-11-281-1/+1
| | | | | | | modernize-* Change-Id: I8aae8e3edac885f23b191333d8b0d803c846af43 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* ProjectExplorer: Fix memory leaks in tree modelsIvan Donchevskii2018-08-211-1/+1
| | | | | | | | | | | | Fix widgets being leaked by the ToolChainOptionsPage. This page created widgets and stored them in the tree node and never deleted them. The fix is to put all the widgets into one QStackedWidget, so that this will clean up once the page is destroyed. Change-Id: Ic02824a4c52771d8962dc594176077c2e139fb84 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Propagate cpuDir into QnxToolChainJames McDonnell2017-03-311-0/+5
| | | | | | | | | | | | | | | Add sdpPath and cpuDir comparison to QNX tool chain comparison. Ensures that QnxConfiguration created tool chains don't get removed just because they have the same ABI as another QNX configuration created tool chain. This should really be visible in the interface but that can be done later since this isn't something that can currently happen with official 6.6.0/7.0.0 SDPs. Change-Id: Ibbb6a8aa645721028d1512460e51e59633b3cedc Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: hjk <hjk@qt.io>
* CppTools/ProjectManagers: Reduce ui blocking when loading projectsNikolai Kosjar2017-02-201-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ${AnyProject}::updateCppCodeModel() did two potentially not that cheap operations in the ui thread: (1) Querying the MimeDatabase for the mime type for the source files of the project. In 99.9% of the cases no files need to be read for this as the file extension will resolve the type. The expensiveness comes from the sheer number of files that can occur. (2) Calling compilers with the "(sub)project's compiler command line" to determine the macros. While the caches avoid redundant calls, the number of the unique compiler calls makes this still a ui-freezing experience. These two operations are moved into a worker thread. For this, the expensive compiler calls are encapsulated in thread safe lambdas ("runners") in order to keep the "mutexed" data minimal. The original API calls of the toolchains are implemented in terms of the runners. While adapting the project managers, remove also the calls to setProjectLanguage(). These are redundant because all of the project managers already set a proper value in the constructor. Also, currently there is no need (client) to report back detection of C sources in project parts. This also keeps CppProjectUpdater simple. There is still room for improvement: * Run the compiler calls in parallel instead of sequence. * Ensure that the mime type for a file is determined exactly once. Change-Id: I2efc4e132ee88e3c8f264012ec8fafe3d86c404f Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Switch QNX tool chains from hard-coded to detected ABIsJames McDonnell2017-02-101-0/+2
| | | | | | | | | | | | | Move the target detection code from the QnxConfiguration class into a separate function that can be used by the QnxConfiguration code and the QnxToolChain code. Move some resetToolChain calls after setSdpPath calls. QNX ABI detection depends on the SDP path. Change-Id: I7417a5a1064a77edfb113d9d0010f1e061b81ca6 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* ProjectExplorer: Added support for registering custom languagesFilippo Cucchetto2017-01-231-3/+3
| | | | | Change-Id: I728a2ed1ef7d9f44d7c2b59d27d6e23444cd3bb5 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Remove BlackBerry terminology and codeJames McDonnell2017-01-201-4/+4
| | | | | | | | | | | Remove a bunch of BlackBerry specific code blocks and functions. Change most instances of NDK/SDK (the BlackBerry terms) to SDP (the QNX term). To maintain backward compatibility, some instances of NDK/SDK that end up in external files have been left as is. Change-Id: I8f589601542983323e41e7b2dd7822914d971623 Reviewed-by: hjk <hjk@qt.io>
* Prevent QNX tool chain demotionJames McDonnell2016-12-151-0/+4
| | | | | Change-Id: Ia355cf80131e36e806781665c4926769a1b144f8 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* ToolChain: Create toolchains for different languagesTobias Hunger2016-07-141-1/+1
| | | | | | | | Enable creation of toolchains for different languages and wire up the logic in the ToolChain Options Page. Change-Id: I9fbd95607d30cc1aa10f73d6532338f07f3e2b4e Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
* ToolChainFactory: Add support for different languagesTobias Hunger2016-07-141-0/+1
| | | | | | | * Add a pure virtual method to get supportedLanguges with Change-Id: Ida4445ca045c90fb9f7656a661af83e5b6801b30 Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
* ToolChain: Make sure all ToolChains have a language setTobias Hunger2016-07-141-0/+1
| | | | | | | | * Add code to toolchains * Assert that this is the case in the toolchainmanager Change-Id: I82452689e83279fd9d1afb3140b0070bef9b6cd8 Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
* Merge remote-tracking branch 'origin/4.0'Oswald Buddenhagen2016-04-011-1/+1
|\ | | | | | | | | | | | | | | | | Conflicts: qtcreator.pri qtcreator.qbs src/plugins/debugger/debuggerruncontrol.cpp Change-Id: I81b43480a1369e3d7be60ae26e812dda6b962b0b
| * ProjectExplorer: Retain original target triple for gcc toolchainsNikolai Kosjar2016-03-301-1/+1
| | | | | | | | | | | | | | The target triple will be used by the Clang Static Analyzer. Change-Id: Ibf33fef286a4d3ad3f40be4d6d5c9f35881d3d46 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* | Wholesale conversion to #pragma oncehjk2016-03-301-4/+1
|/ | | | | | | Kudos to cgmb and https://github.com/cgmb/guardonce Change-Id: Ifa8970734b8d43fd08c9260c645bdb0228633791 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Update License according to agreement with Free Qt FoundationTobias Hunger2016-01-191-20/+13
| | | | | | | * Update files in src/plugins Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Consistently use Utils::FileNameListTobias Hunger2015-11-161-1/+1
| | | | | | | Consistently use Utils::FileNameList in favor of QList<Utils::FileName> Change-Id: Iafbb466c882bfd91c25c9e78f107d401bfdb6d55 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* ToolChain: Get rid of type() in favor of typeId()Tobias Hunger2015-07-141-1/+0
| | | | | Change-Id: I8fc68c266acb55a7c3e014697a7b526784914f7a Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* ToolChain: Use override on toolchains and related classesTobias Hunger2015-07-091-17/+17
| | | | | Change-Id: I5019aa3a067f54095ee21096adeb4dea6ad5dea4 Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* Update LicenseEike Ziller2015-01-161-5/+5
| | | | | Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* License updateEike Ziller2014-10-091-7/+8
| | | | | Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Incremented year in copyright infoRobert Loehning2014-01-081-1/+1
| | | | | | Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Qnx: Add new QccToolChain class for qcc compilersEl Mehdi Fekari2013-10-291-0/+113
Qcc compiler doesn't support "dumpmachine" option provided by the gcc to get a list of supported abis from the compiler, and needs to pass -Wp option when running qcc to get predefined macros and header paths. GccToolChain fails to get those information from qcc and print warning messages on the console. This patch adds new QccToolChain class and reinterprets the compiler options to detect predefined macros and header paths. It also provids list of supported abis and suggested mkspecs. Task-number: QTCREATORBUG-10116 Change-Id: Ic48d5c58c5b957f5a8536248888c9a63ca499f34 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>