summaryrefslogtreecommitdiff
path: root/src/plugins/cmakeprojectmanager/cmakeproject.cpp
Commit message (Collapse)AuthorAgeFilesLines
* C++: split defines into project-defined and toolchain-defined.Erik Verbruggen2013-12-101-1/+1
| | | | | | | | So we can ignore possibly problematic toolchain-defines, while can still unconditionally apply project-defines. Change-Id: I7cb96f35a963d080011fe888ef71bfc098dd33ef Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* ProjectExplorer: Make Project::id value basedhjk2013-10-141-5/+1
| | | | | Change-Id: Ie210d2a068158c6caaac66aae58cbd886f61c18d Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* ProjectPart: Add meta informationDaniel Teske2013-10-011-0/+3
| | | | | | | | Add displayname and project file path and a pointer back to the project. Change-Id: Ic9a18f52a6291493bd3a95fd3456ed0e1a3c63e3 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* BuildConfigurationFactory: Refactor codeTobias Hunger2013-09-171-7/+8
| | | | | | | | | | | | | | | | | | Refactor the code of the build configuration factories. The idea is to generalize the code so much that we can allow plugins to install custom build configuration factories for the platforms they support. To support this use case the following changes where done here: * BuildInfo class was introduced to describe one build configuration that can be created by a factory. * Factories report a list of BuildInfo to describe what they can produce. This fixes the need for factories to implicitly create one buildconfiguration and then create another one 'officially' to support debug and release build configurations to be set up for projects. * Do no longer work around factories to create build configurations. Change-Id: Ic372e4a9b5c582633b467d130538948472b89d91 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* CMake: Make CMake plugin work with RemoteLinux plugin.Oleksii Serdiuk2013-09-161-13/+50
| | | | | | | | | | | | | | | | | | | | | | | Modified CMake plugin to work correctly with RemoteLinux plugin. Because of not being able to extract files to be installed from CMake project, only executable targets are automatically added to deployment files. All other files have to be specified in CMakeDeployment.txt file which should be placed into root of CMake project. The file format is: > deployment/prefix > relative/source/file1:relative/destination/dir1 > ... > relative/source/filen:relative/destination/dirn Where: - deployment/prefix is (absolute) path prefix to which files will be deployed on the remote machine. - relative/source/file is file path relative to CMake project root. Plain files - no directories or wildcards supported. - relative/destination/dir is destination directory path relative to deployment/prefix. Change-Id: I0831636c1b9aac3ff16bb6293104c512d2abfb5a Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* Cmake: Improve handling of build targets in makestepTobias Hunger2013-09-121-7/+0
| | | | | | | | | * Update build targets as they change in CMakeLists.txt * Do not set "all" since that is the default anyway * Signal widget whenever the list of targets to build changes Change-Id: Ie90be143fa345e03576632ab39a5dc5f75b19daf Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* Cmake: Remove dead codeTobias Hunger2013-09-121-14/+0
| | | | | Change-Id: I3e99afd3ce4a39c9ffeb7b7b21b3454e88dffe74 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* CMake: Move watcher setupTobias Hunger2013-09-121-4/+4
| | | | | | | TO BE SQUASHED LATER! Change-Id: I055ba795f9b47e7046edc6cb34d3d91ec4419eca Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* Core::Id: Remove some explicit casts to Core::IdTobias Hunger2013-09-031-1/+1
| | | | | Change-Id: Ibe505c8331f7d1280fdb8784a00321742f5d94cb Reviewed-by: hjk <hjk121@nokiamail.com>
* Reduce usage of QStringRef::toString() in project manager/cmake.Friedemann Kleint2013-08-291-1/+1
| | | | | Change-Id: I5d60c663d8a258334dde9b93b4f76a4bea760a70 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* BC: Move builddirectory handling into BC itselfTobias Hunger2013-08-281-9/+9
| | | | | | | | | Use setBuildDirectory() in the different BuildConfigurations instead of reimplementing that over and over again. Change-Id: Ic355fdb4624c71667ce470b3e2865c9a8722ef09 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* UiCodeModelManager: Clean up APITobias Hunger2013-08-021-1/+1
| | | | | | | Task-number: QTCREATORBUG-9763 Change-Id: Ie138f63b8abd5333262debf311aa3ebbd88c81d5 Reviewed-by: hjk <hjk121@nokiamail.com>
* PluginManager: Do not use instance() when that is not neededTobias Hunger2013-08-021-3/+3
| | | | | Change-Id: I68e1b20561098c375557be6db1fb528e0ae040f6 Reviewed-by: hjk <hjk121@nokiamail.com>
* UiCodeModel: Simplify usageTobias Hunger2013-08-011-124/+5
| | | | | Change-Id: Id274db9ed3022364e7b65788f8313ae6cfa73326 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* CppTools: Clean up CppModelManager(Interface)Nikolai Kosjar2013-07-311-3/+3
| | | | | | | | | | | * Const correctness * Better variable names * Sort order of includes and forward declarations * Comment fixes * Cosmetic/Whitespace changes Change-Id: Ieb137266ac7eddedb00c37f8b2cc8677d67e4bdd Reviewed-by: David Schulz <david.schulz@digia.com>
* Merge remote-tracking branch 'origin/2.8'Oswald Buddenhagen2013-07-251-3/+1
|\ | | | | | | | | | | | | Conflicts: src/plugins/cpptools/cppmodelmanager.cpp Change-Id: I0e69dfad951eb81d8008f5ca05e8fb6999ae2c8a
| * CppTools: Check if project has changed before reparsingNikolai Kosjar2013-07-221-3/+1
| | | | | | | | | | | | | | | | | | This introduces an API change for the project managers. Those are not expected to call updateSourceFiles() anymore. Task-number: QTCREATORBUG-9581 Change-Id: I77befd29fb851c9acf87204d571da00183c9cd05 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | Don't use openedEditors in CMakeProjectEike Ziller2013-07-121-3/+3
| | | | | | | | | | | | | | Work on documents instead. Change-Id: I7000d10b2a885d5dc22c9b40377c9521f21b6195 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* | Move displayName from IEditor to IDocumentEike Ziller2013-07-101-10/+10
| | | | | | | | | | | | | | | | The display name is not editor instance specific, but belongs to the document. Change-Id: I3c936f04a86e10e6ca30063d85036d85b4b5880e Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* | Move Ui code model support into QtSupportTobias Hunger2013-07-101-28/+9
| | | | | | | | | | | | | | | | | | | | * Move basic ui code model support from CppTools into QtSupport * Use Kit infrastructure to retrieve uicCommand and environment * Remove specialization for cmake projects (no longer needed) * Remove specialization for qmake based projects (no longer needed) Change-Id: I8569cc01acb46a540883c2da235d169bebf7db39 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* | Rename IDocument::fileName --> filePathEike Ziller2013-07-091-4/+4
| | | | | | | | | | | | | | That is what it actually is, wrt how Qt API calls it. Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* | Make IDocument::fileName a member with setter.Eike Ziller2013-07-091-15/+3
| | | | | | | | | | | | | | | | | | | | Instead of requiring subclasses to implement a method. Also renames IDocument::rename to IDocument::setFileName, since it doesn't really rename any files or such. Change-Id: I1344025c24d2f74a6a983e04fb0a5245f1f37aad Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* | CMake: Set a initial displayName for projectsDaniel Teske2013-07-081-0/+2
|/ | | | | | | | | | | We set the display name for cmake projects based on the projects's name in the cdb file. The parsing of that happens quite late, so we need to set a fallback displayname in the ctor. Task-number: QTCREATORBUG-9641 Change-Id: Iabfef7a3cc9710e6ba04523845d4142a89493011 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Project managers: Force "Parsing" notificationNikolai Kosjar2013-06-241-1/+2
| | | | | | | | | | ...so parsing progress will also be reported for projects consisting of only one source file. Task-number: QTCREATORBUG-9597 Change-Id: If35a00b6f949258d64921f144919269fa0c81d36 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* CMake: Save all files before running cmake wizardDaniel Teske2013-06-191-0/+2
| | | | | | | Task-number: QTCREATORBUG-9537 Change-Id: Ie5e4ffd33a9a9108c2e12bf8e71d932f6586053c Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Revert "Project: Set QML/C++ languages where both are possible"Kai Koehne2013-05-281-4/+1
| | | | | | | | | This reverts commit 75691393ec9bf87c290fb8e9d199cbeab7e726f8. Otherwise we'd enable QML debugging for virtually all projects. Change-Id: I5518624a9973a9f61fbef6c680b5a83c74d0b4a9 Reviewed-by: Aurindam Jana <aurindam.jana@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* CMake: simplified C++ codemodel interaction.Sergey Shambir2013-05-021-44/+24
| | | | | | | | | | | | Now it uses ProjectPart::evaluateToolchain() to read toolchain info with given compiler flags, so it saves old behavior and also reads C version and C++ extensions. Removed check that model doesn't need to be updated, since check didn't account ProjectPart enums. Change-Id: I6dbebeecdb162ec5b885f9f1846756b586c22b23 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* ProjectExplorer: extended Toolchain::CompilerFlagsSergey Shambir2013-04-301-1/+1
| | | | | | | | Now it provides information about C language standard and C++ extensions. No new behavior added to project managers. Change-Id: Ib7c19641f452a75c9b14cd7e33d104dcd1603720 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* CMakeProjectManager: Make shadow build support not depend on qt versionDaniel Teske2013-04-111-4/+0
| | | | | | | | | If a qt version does not support shadow building, this just means that the qmake for that qt is broken. That has no bearing on whether cmake could shadow build. Change-Id: If2b69b42094d87cd0c3be26d043e344aa8b370da Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Fix CMakeProjectManager Ninja CXXFLAGS detectionShane Peelar2013-04-101-5/+30
| | | | | | | | | | | | | | | In recent CMake versions, a new backend, Ninja, was added with the intention of providing an alternative to makefiles. However, this backend stores the CXXFLAGS for the project in a different format than it does for the makefiles backends. As the CMakeProjectManager assumes a makefile backend, it fails to correctly obtain the CXXFLAGS of the project when Ninja is used. This small patch will attempt to read CXXFLAGS from the build.ninja file to correct this issue. Task-number: QTCREATORBUG-9047 Change-Id: Ic19ae3b4802c7a12b5d0a92a7f1a2254bec5a3d2 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* ProjectManagers: Update project languages based on data sent to the codemodelTobias Hunger2013-04-101-0/+2
| | | | | Change-Id: Iecf61f66389fff6f3995c4f4bc893ffd190c50e6 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* CppTools: Rename files to comply with coding standardTobias Hunger2013-04-101-1/+1
| | | | | | | | Rename ModelManagerInterface.(h|cpp) to cppmodelmanagerinterface.(h|cpp). Rename TypeHierarchyBuilder.(h|cpp) to typehierarchybuilder.(h|cpp). Change-Id: I035d833fd205d7460819bd0fb7031294359032f9 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* CppTools: Use namespace CppTools consistentlyTobias Hunger2013-04-081-13/+13
| | | | | | | | | There were quite a few classes using CPlusPlus namespace in the CppTools plugin. Rename them and do some other small namespace related coding style fixups. Change-Id: I093fc1f3fc394fd9923e3f18d5f66522e288f21d Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Project: Set QML/C++ languages where both are possibleTobias Hunger2013-04-051-1/+4
| | | | | Change-Id: I4bc5bd7a644c48dfa529f9f9f6052e401de76d40 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Core: Remove Core::Id(QByteArray) constructorhjk2013-04-041-1/+0
| | | | | | | | This was mostly used to disambiguate the char * and the QString constructors. Change-Id: Ib6923ef8e8c0e5d514a883e73aa001a1cd9fb534 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* Merge remote-tracking branch 'origin/2.7'Eike Ziller2013-03-261-1/+17
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qtcreator.pri qtcreator.qbs share/qtcreator/qml/qmlpuppet/interfaces/interfaces.pri share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.cpp share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/objectnodeinstance.h src/plugins/debugger/debuggerplugin.cpp src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp src/plugins/qmldesigner/components/debugview/debugview.cpp src/plugins/qmldesigner/components/formeditor/abstractcustomtool.cpp src/plugins/qmldesigner/components/formeditor/abstractcustomtool.h src/plugins/qmldesigner/components/formeditor/formeditorview.cpp src/plugins/qmldesigner/components/integration/stackedutilitypanelcontroller.h src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp src/plugins/qmldesigner/components/navigator/navigatorview.cpp src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp src/plugins/qmldesigner/designercore/include/abstractview.h src/plugins/qmldesigner/designercore/include/qmldesignercorelib_global.h src/plugins/qmldesigner/designercore/include/rewriterview.h src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp src/plugins/qmldesigner/designercore/model/abstractview.cpp src/plugins/qmldesigner/designmodewidget.cpp Change-Id: I9d8126e88397c02a87b5e4ab4da44e2bc7089134
| * CMake: Correct encoding of definesDaniel Teske2013-03-191-1/+1
| | | | | | | | | | Change-Id: I8c5049ce52d20137dc4233c09ab68aaa07df7fe7 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
| * CMake: Fix parsing of C++ definesDaniel Teske2013-03-191-1/+17
| | | | | | | | | | | | | | | | | | | | | | Partially revert 20cfccd7533fb68cc9759c015a2b6573d167581c that somehow assumed that compiler flags would also include the defines. See comment on Task-number: QTCREATORBUG-3922 Change-Id: Ic7cb9dfa33f53fde9302f38018102c15cb12f83d Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* | CppTools: improved languages support in ProjectPartSergey Shambir2013-03-211-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Please, read blueprint here: http://qt-project.org/wiki/Blueprint-for-language-specs-system Removed feature from QbsProjectManager: it not longer splits project on separate C and C++ parts, because Qt version used only by clang parser (not native) and can be ignored for pure C and Objective-C without C++. Change-Id: I1c561f7f9f915cc6cb8579d19db74e8352f54c1e Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* | s/ProjectExpander/ProjectMacroExpander/gTobias Hunger2013-03-191-1/+1
| | | | | | | | | | | | | | | | | | The new name is a better description of what the class is all about, it matches the filename and it does not conflict show up when trying to expand "PE" to ProjectExplorer. Change-Id: Ie6a10b9a83dc8bc529e35e3381f733dbe25847a3 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* | Fix Krazy warnings about includes/header guards in Autotools/CMake.Friedemann Kleint2013-03-121-1/+0
|/ | | | | Change-Id: Iff9e1c6658e1b0a20ec6f140a86f69c8cb52fb44 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* CMake: Ignore all the XXX/fast targetsYuchen Deng2013-03-071-9/+2
| | | | | | | | In fact, it is same with the XXX target. So, ignore it would make it clean. Change-Id: I2527f839461f0be07b6d40e257db23ef5ca35007 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* CMake: Does not need m_buildTargetType anymoreYuchen Deng2013-03-071-10/+4
| | | | | Change-Id: I45f927391d73258f8f61eebe8543b6f5052678ec Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* CMake: Display all targets in project settingsStanislav Ionascu2013-02-271-6/+3
| | | | | | | | | | All targets should be displayed, even without binary artifacts, otherwise it's not possible to select a CMake custom target to build. Change-Id: I4b7640f460a248fd2d4b56428c2c8da3b13b9103 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Yuchen Deng <loaden@gmail.com>
* Qml Debugging: Default option for Qt Quick applicationAurindam Jana2013-02-201-1/+1
| | | | | | | | | Qt Quick applications should have Qml Debugging enabled by default. Task-number: QTCREATORBUG-8208 Change-Id: I794249567b15071098f0ac8ba5f2a8e5f2be4ffb Reviewed-by: hjk <hjk121@nokiamail.com>
* Merge remote-tracking branch 'origin/2.6'Oswald Buddenhagen2013-01-311-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in src/plugins/debugger/qtmessageloghandler.cpp src/plugins/debugger/qtmessagelogwindow.cpp src/plugins/madde/maemodeployconfigurationwidget.cpp src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp src/plugins/qmldesigner/designercore/include/widgetqueryview.h src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp src/plugins/qnx/bardescriptormagicmatcher.h src/plugins/qt4projectmanager/profilekeywords.cpp src/plugins/remotelinux/deployablefilesperprofile.cpp src/plugins/remotelinux/deployablefilesperprofile.h src/plugins/remotelinux/deploymentinfo.cpp src/plugins/remotelinux/deploymentsettingsassistant.cpp src/plugins/remotelinux/profilesupdatedialog.cpp tests/auto/icheckbuild/ichecklib.cpp tests/auto/icheckbuild/parsemanager.cpp tests/auto/icheckbuild/parsemanager.h Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
| * Incremented year in copyright infov2.6.2Robert Loehning2013-01-291-1/+1
| | | | | | | | | | Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | CMake: Fix build directory for "Add Buildconfiguration"Daniel Teske2013-01-171-3/+17
| | | | | | | | | | | | | | Task-number: QTCREATORBUG-8425 Change-Id: I58a47895fa882bcc53cad1ef764a307c714f2a1b Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* | Figure out compile flags for cmake by parsing flags.make filesDaniel Teske2013-01-101-22/+42
| | | | | | | | | | | | Change-Id: I4dc3889fcc5b26e24b29a3a9fdbba37ddcb74a95 Note: This parses the first flags.make file that is found. Reviewed-by: hjk <qthjk@ovi.com>
* | Fix .ui code completion for some cmake projectsDaniel Teske2013-01-091-5/+17
| | | | | | | | | | | | | | | | | | | | | | CMake generates the ui*h file in the directory that corresponds to the CMakeLists.txt. Creator does not have the information whihch CMakeLists.txt file includes the .ui file. This patch adds a crude heuristic that searches for the right CMakeLists.txt. Task-number: QTCREATORBUG-8509 Change-Id: I0f31d9766c6b5988a00ab618026ea052690dd649 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>