aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared/proparser/qmakeglobals.h
Commit message (Collapse)AuthorAgeFilesLines
* Qmake: Enhance remote parsinghjk2023-01-101-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | When parsing remote .pro files the parsers needs to pretend it runs on the remote device. All internal data are now "local on the remote", so that string manipulation in .pro files "just works", and a 'device root' string is passed around to relevant functions which then use it to construct FilePath::toFSPathString()-style paths that our custom FSEngineImpl can then map to the real device. Remote $$system() calls are intercepted by the local parser and redirected using the usual QtcProcess mechanims. Quite a bit of the ProParser needed adjustments, so there's some potential for regression. Task-number: QTCREATORBUG-28242 Task-number: QTCREATORBUG-28161 Task-number: QTCREATORBUG-28355 Change-Id: I6100e7aca4e1db35f5e9689004110aab57e2c595 Reviewed-by: hjk <[email protected]> Reviewed-by: Christian Stenger <[email protected]> Reviewed-by: Christian Kandeler <[email protected]>
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <[email protected]>
* ProParser: Prefix mkspecs with remote rootshjk2022-12-131-0/+1
| | | | | | | | | When needed. Change-Id: Ibb159ce2513eb0d4023565dd11bc4c7dff5d0ec2 Reviewed-by: Christian Stenger <[email protected]> Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-08-261-24/+2
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <[email protected]>
* Utils: More porting.h related changeshjk2022-07-141-1/+0
| | | | | Change-Id: I528a6950dfa6e09eb7f7ada265c8c41dba816bfd Reviewed-by: Eike Ziller <[email protected]>
* Utils: Collapse most of porting,hhjk2022-07-131-1/+1
| | | | | | | | | Taking the Qt 6 branches, leaving some dummies until downstream adapted. Change-Id: Ib9b86568d73c341c8f740ba497c3cbfab830d8a1 Reviewed-by: Eike Ziller <[email protected]> Reviewed-by: Qt CI Bot <[email protected]>
* Make some qHash and comparison operators overloads hidden friendshjk2021-12-061-3/+3
| | | | | | | Restricts lookup scope more to necessary bits. Change-Id: Ia42c95aaa70534843b7f6a90bfc56d2a1202c612 Reviewed-by: Eike Ziller <[email protected]>
* Fix qHash-related size compatibility warnings by MSVCOrgad Shaneh2021-10-201-1/+2
| | | | | | Change-Id: I3b7981ce78b67db4b996f99682284a0b911d8cd7 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Eike Ziller <[email protected]>
* Don't kill the QProcess instance which is running in other threadJarek Kobus2021-10-061-2/+1
| | | | | | | | | | | | | | | | | The main thread doesn't kill processes directly, but sets just the cancel flag. Instead of waiting infinitely long for a process to finish we poll periodically (every 100ms) for the canceled flag inside the thread that started the process. Amends: a30aa4421a0257b048197b51330e6bf5c2732af5 Task-number: QTCREATORBUG-26333 Change-Id: I599d5c6cd69381cadc4a01c65f6a79f9a9bbd3fb Reviewed-by: Eike Ziller <[email protected]> Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Christian Kandeler <[email protected]>
* Qmake: Prevent unresponsive processes from hanging Qt CreatorChristian Kandeler2021-01-051-0/+4
| | | | | | | | | | | | | | | That is, processes run via qmake's system() function. Fun fact disovered while implementing this: "Canceling" the loading of a qmake project did nothing at all except making the progress bar red at the end of the parsing procedure. Now at least we terminate the currently running processes invoked by system(), so the parsing threads can continue and eventually finish. Task-number: QTCREATORBUG-24825 Task-number: QTCREATORBUG-25000 Task-number: QTCREATORBUG-25194 Change-Id: Ic92ef200d3a49bbdeff0429ae7038fe3f1935b38 Reviewed-by: Joerg Bornemann <[email protected]>
* QmakeProjectManager: Make "system" execution opt-inChristian Kandeler2020-10-161-0/+1
| | | | | | | | | | It has too many side effects. Amends fcd6384f4d. T_SYSTEM and E_SYSTEM are now treated the same. Fixes: QTCREATORBUG-24551 Change-Id: Ib6df2762d329f2ddc0dd66190454159d446a9ac9 Reviewed-by: Joerg Bornemann <[email protected]>
* qmake: add a bunch of complementary options to -afterOswald Buddenhagen2018-03-141-5/+8
| | | | | | | | | | in particular, -before (just for symmetry, as it's the default), -early (the actual objective), and -late (for symmetry again). Change-Id: I274303582a348b052c3e5106ff360ab4fd7d4ee2 (cherry picked from qtbase/4adc1012e19f5e12ab2fb96effc9ea88d2a05eda) Reviewed-by: Joerg Bornemann <[email protected]> Reviewed-by: Tobias Hunger <[email protected]>
* qmake: don't pass qmake configure arguments to sub-projectsOswald Buddenhagen2018-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | the arguments after '--' are by definition meant only for the top-level project, as that's where configure is invoked from. passing them to sub-projects just adds noise to the make output and misleads users. note that this specifically does not support qmake -r, which will break if the subprojects rely on the arguments being absent. this isn't a problem, because the qt build doesn't support qmake -r anyway. note on cherry-picking: qt creator parses projects like qmake -r would, so this is hypothetically more of a problem here. we presume that nobody would actually include configure arguments in their build configuration, which may or may not be true ... Change-Id: I7ecff6212ce3137526005fc324a4a7ae45e3345e (cherry picked from qtbase/34cc41d8a17e6e30f01f22c5d382c28d49ae37e1) Reviewed-by: Joerg Bornemann <[email protected]> Reviewed-by: Tobias Hunger <[email protected]>
* qmake: introduce reload_properties() functionOswald Buddenhagen2018-03-141-0/+1
| | | | | | | | Task-number: QTCREATORBUG-18220 Change-Id: I4526ef64b3c89d9851e10f83965fe479ed7f39f6 (cherry picked from qtbase/169a40d511165f6c3c9a71cd5c079786c22d2aca) Reviewed-by: Joerg Bornemann <[email protected]> Reviewed-by: Tobias Hunger <[email protected]>
* de-duplicate qmake property parsing codeOswald Buddenhagen2017-01-241-0/+1
| | | | | | Change-Id: I7555de5c72a9250b31e20fc60e39680d19882fcb Reviewed-by: Tobias Hunger <[email protected]> Reviewed-by: Christian Kandeler <[email protected]>
* BaseQtVersion: use QMakeEvaluator's native format for m_versionInfoOswald Buddenhagen2017-01-241-1/+0
| | | | | Change-Id: I926bc97fe6fa510ac5a8fe77b64014333a69bd04 Reviewed-by: Christian Kandeler <[email protected]>
* introduce a new way to pass arbitrary arguments to the project fileOswald Buddenhagen2016-08-021-1/+1
| | | | | | | | | | | | | | | | this is done by recognizing the -- option and putting everything that follows it into the QMAKE_EXTRA_ARGS variable. the purpose of this is being able to pass "alien" arguments (for example configure options) without having to marshal them into a qmake variable assignment manually. this is expected to greatly enhance the convenience when no wrapper script (i.e., configure itself) is used (which will be the case outside qtbase). Change-Id: I47735bdab2811d17d7d394fbf638ebd14332ea73 Reviewed-by: Lars Knoll <[email protected]> (cherry picked from qtbase/26d44fce3dfb9dbd3b5be2a031fff8c1bb903960) Reviewed-by: Jake Petroules <[email protected]>
* QMake: Add option to set qt.conf fileDavid Schulz2016-08-021-0/+1
| | | | | | | Change-Id: Ie5db11892ccf2d357773a4db6a0464bf27be9a26 Reviewed-by: Oswald Buddenhagen <[email protected]> (cherry picked from qtbase/dbf1c2eb9f4e1feb24a58699b7b550016802e386) Reviewed-by: Jake Petroules <[email protected]>
* 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 <[email protected]>
* Update License according to agreement with Free Qt FoundationTobias Hunger2016-01-191-17/+12
| | | | | | | * Update files in src/share* and src/tools Change-Id: I78aa5d4a1d76212964e467de7676c1fcb2b777d6 Reviewed-by: Tobias Hunger <[email protected]>
* add enabler for qmake evaluator testOswald Buddenhagen2015-10-281-0/+1
| | | | | | | | the actual test is omitted from qtcreator. Change-Id: I31b95daede5edef245dd1ba447f2937a0db34232 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from qtbase/5ddc16b5df1c95140124430553f91dcc4789f831)
* Update LicenseEike Ziller2015-01-161-6/+6
| | | | | Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125 Reviewed-by: Alessandro Portale <[email protected]>
* License updateEike Ziller2014-10-091-7/+8
| | | | | Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082 Reviewed-by: Alessandro Portale <[email protected]>
* Incremented year in copyright infoRobert Loehning2014-01-081-1/+1
| | | | | | Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a Reviewed-by: Leena Miettinen <[email protected]> Reviewed-by: Kai Koehne <[email protected]>
* support a cache that is really just a cacheOswald Buddenhagen2013-11-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unlike .qmake.cache & co., the presence of this file has no magic effects on where mkspecs, modules and other things are searched. as the obvious name "cache" is of course already taken, we call it "stash". the file is searched up to the super cache (if present), otherwise up to the normal cache/conf (if present), otherwise up to the root. if it's not found, it is created next to the super cache (if present), otherwise next to the cache/conf (if present), otherwise in the current output directory. note that the cache really should be created and populated by the top-level project if there are subprojects: otherwise, if there is an "anchor" (super/cache/conf), subprojects would race for updating the cache and make a mess. without an "anchor", each subproject would just create its own cache, kind of defeating its purpose. this is no different from the existing "cache", but it's worth mentioning that removing the "anchoring" function does not remove the "nesting order" constraint. Task-number: QTBUG-31340 Change-Id: I786d40cef40d14582a0dd4a9407863001bec4c98 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from qtbase/ff31d87cc883dcf17ab459a15eac04e074d9614a) Reviewed-by: Daniel Teske <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
* qmake: Expose qmake arguments as QMAKE_ARGSTor Arne Vestbø2013-10-291-0/+1
| | | | | | | | | | Allows project files or mkspecs to call qmake recursively using system() with the right arguments, which we use to fix the ios default_post.prf. Change-Id: I90d69e2b156bb0f0af1279188b11f81c84c24fb8 Reviewed-by: Oswald Buddenhagen <[email protected]> (cherry picked from qtbase/1cdbe4752bef972db5471e811e9a781749cd0380) Reviewed-by: Daniel Teske <[email protected]>
* make setting a bad $$[QMAKEFEATURES] not crash qmakeOswald Buddenhagen2013-10-291-0/+1
| | | | | | | Task-number: QTBUG-29642 Change-Id: I9cc209eb313f03bf342bcb64b1de3005755700a7 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from qtbase/50a90720be7d67dcdfe704a82fb3b1138edd2aab)
* don't flush qmake command line twiceOswald Buddenhagen2013-02-061-0/+2
| | | | | | | | | | otherwise variable assignments (including -config options) from $QMAKEFLAGS are lost. Change-Id: I818e9372d2b0ff44333dc3eb8fc3420f84ab01c5 Reviewed-by: Joerg Bornemann <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]> (cherry picked from qtbase/864e1ceaf628e823103ae2d28d2c983400ba38c7)
* 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 <[email protected]>
* | Merge remote-tracking branch 'origin/2.6'Eike Ziller2012-10-051-21/+20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.cpp share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.h src/plugins/debugger/qtmessageloghandler.cpp src/plugins/debugger/qtmessageloghandler.h src/plugins/debugger/qtmessagelogwindow.cpp src/plugins/madde/maemodeployconfigurationwidget.cpp src/plugins/madde/maemodeployconfigurationwidget.h src/plugins/remotelinux/deployablefilesperprofile.cpp src/plugins/remotelinux/deployablefilesperprofile.h src/plugins/remotelinux/deploymentinfo.cpp src/plugins/remotelinux/deploymentinfo.h src/plugins/remotelinux/deploymentsettingsassistant.cpp src/plugins/remotelinux/profilesupdatedialog.cpp src/plugins/remotelinux/remotelinuxdeploymentdatamodel.h tests/auto/icheckbuild/ichecklib.cpp tests/auto/icheckbuild/ichecklib_global.h tests/auto/icheckbuild/parsemanager.cpp tests/auto/icheckbuild/parsemanager.h tests/manual/ssh/tunnel/tunnel.h Change-Id: I04d7761df6bd936ad00e0547974284c967d39580
| * Adjust license headershjk2012-10-051-21/+20
| | | | | | | | | | Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825 Reviewed-by: Eike Ziller <[email protected]>
* | put core implementation of $$shadowed() into QMakeGlobalsOswald Buddenhagen2012-09-071-0/+1
| | | | | | | | | | | | | | to make it available to a wider audience Change-Id: I7a706f8d31de97d8214ba5ea745e19d1dbfda1bc Reviewed-by: Daniel Teske <[email protected]>
* | compile without CamelCase headersOswald Buddenhagen2012-09-031-5/+5
| | | | | | | | | | | | | | for faster bootstrapping of qmake Change-Id: I602a023f4acbac276219bfc125863749ad96f754 Reviewed-by: Daniel Teske <[email protected]>
* | make use of real environment a separate optionOswald Buddenhagen2012-09-031-1/+1
| | | | | | | | | | | | | | | | only creator needs to set an own environment - the testreader, lupdate and qmake don't. Change-Id: I4ff561a3008d423969a3f331bdc5d16b281a020b Reviewed-by: Daniel Teske <[email protected]>
* | move sysroot out of QMakeGlobalsOswald Buddenhagen2012-09-031-1/+0
| | | | | | | | | | | | | | it's a hack which is exclusive to ProFileEvaluator. Change-Id: I86141dc8985330a8a1602ced002545a9eb0a646c Reviewed-by: Daniel Teske <[email protected]>
* | add dynamic property mode for qmakeOswald Buddenhagen2012-09-031-3/+16
| | | | | | | | | | | | | | | | | | | | | | in qmake, the property map is not pre-initialized with the values from QSettings, as dynamic properties are typically unused, and thus initializing them would be a waste of time. consequently, make propertyValue() just a delegate to a QMakeProperty. Change-Id: I11af5124f810f798214c43704fe49ace03a8f5b8 Reviewed-by: Daniel Teske <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
* | setup {,x}qmakespec from environment as fallbackOswald Buddenhagen2012-09-031-0/+1
| | | | | | | | | | | | | | ... like qmake does Change-Id: I4d0dedfea5efcd1b5df2c3043788edf4bbd5c5ad Reviewed-by: Daniel Teske <[email protected]>
* | add tracing facilities to evaluatorOswald Buddenhagen2012-09-031-0/+4
| | | | | | | | | | | | | | | | | | as other output code which is enabled only in full qmake mode, this prints directly to the console. Change-Id: I6a1578818512fa3b0773faf276a1d56881eb06d7 Reviewed-by: Daniel Teske <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
* | make command line parser grok more optionsOswald Buddenhagen2012-09-031-3/+5
| | | | | | | | | | | | | | | | -spec/-platform, -xspec/-xplatform, -t/-template, -tp/-template_prefix, -cache & -nocache. Change-Id: I1a0aa6ce830bf4d4beed319ebe248b15b2dc72c0 Reviewed-by: Daniel Teske <[email protected]>
* | revamp command line argument parsingOswald Buddenhagen2012-09-031-3/+14
|/ | | | | | | | the command line parser can be now integrated with a parser which understands more options. Change-Id: Ib9de352376b2f03dd466d577435f680702d1e2b9 Reviewed-by: Daniel Teske <[email protected]>
* introduce ProKey classOswald Buddenhagen2012-08-061-2/+2
| | | | | | | | | | while this is actually just an alias for ProString (with explicit zero-cost conversions only), it nicely illustrates the use of particular variables. it also serves to hide the NoHash hack from public view. Change-Id: Iaf9283c64f320ad84a77d9573d1fde6d401c49df Reviewed-by: Joerg Bornemann <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
* add $$shadowed() functionOswald Buddenhagen2012-08-011-0/+3
| | | | | | | | follow suit with qmake ... Change-Id: Ic97576eaf74dfd58e8d8cd2f8034dac3963b92c4 Reviewed-by: Daniel Teske <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
* add support for option(host_build)Oswald Buddenhagen2012-08-011-1/+12
| | | | | | Change-Id: I7b16d13b0f94d0a2e4b4743a40dad9bd8b8b9698 Reviewed-by: Daniel Teske <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
* Contact -> qt-project.orgEike Ziller2012-07-191-3/+1
| | | | | Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d Reviewed-by: Oswald Buddenhagen <[email protected]>
* make $$QMAKE_QMAKE available to projectsOswald Buddenhagen2012-07-091-1/+2
| | | | | | | | | not setting it outside the main project processing, as it's even less likely to be needed there. Change-Id: Ia7afe3a53bf0977d739bf23d7cd79e3a2aee8867 Reviewed-by: Daniel Teske <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
* make qmake property map ProString-basedOswald Buddenhagen2012-07-091-1/+4
| | | | | | Change-Id: I3c25642b885171a47e8fd27e39e5d470d9f24db3 Reviewed-by: Daniel Teske <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
* do .qmake.cache search per sub-projectOswald Buddenhagen2012-07-091-8/+21
| | | | | | | | follow suit with qmake ... Change-Id: I40ed12d8cba4ae39b80f47e34c370f40656b9d83 Reviewed-by: Daniel Teske <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
* add groundwork for supporting -t and -tp qmake optionsOswald Buddenhagen2012-07-041-0/+1
| | | | | | Change-Id: Ibb1aafdaeaf8ee53bb11436d2f2ca8ccbf0ffc3c Reviewed-by: Daniel Teske <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
* revamp target mode handlingOswald Buddenhagen2012-07-041-3/+0
| | | | | | | | follow suit with qmake ... Change-Id: Id734e20556925cec5bf8c70d55974eb4a783f49d Reviewed-by: Daniel Teske <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>