aboutsummaryrefslogtreecommitdiffstats
path: root/src/app/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Move app logo to main executableEike Ziller2023-06-261-0/+16
| | | | | | | | Moves more branding information out of the plugins. Change-Id: I71575f268dd8f2860f4da56101b0e3d9442df367 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Reduce usage of app_version headerEike Ziller2023-06-261-6/+0
| | | | | | | | | | | | Most information is available via Q(Core|Gui)Application. Add an AppInfo structure for the things that are not. This avoids that the information ends up duplicated and hardcoded in the plugins, which is not needed or desired. Change-Id: I4d565e75c42a7b8facafa90c27096ea49359215d Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake build: Remove usages of Qt5_VERSIONEike Ziller2023-01-241-1/+1
| | | | | | | | | | and remove checks for Qt < 6.2, since that is our minimum version. Except for sdktool and qml2puppet. Change-Id: Id36cd1a15a5a6e5480e4ae5d0a8ffaea4b2a1864 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* CMake build: Use version-less Qt targetsEike Ziller2023-01-051-1/+1
| | | | | | | | | Since we do not support Qt < 5.15 anymore, and as a first step for getting rid of our special FindQt5.cmake. Change-Id: Icc5dbaf9b0a3a622b1f609ff114b9decb6d2856c Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Link qml2puppet / qtcreator to the static qml pluginsCristian Adam2022-05-061-0/+4
| | | | | | | | This way "qml2puppet --test" will succeed. Change-Id: I4c523e70e171e75c4f72fc85c740b87db833f4a1 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: Qt Creator Static build supportCristian Adam2022-04-291-0/+33
| | | | | | | | | | | | | | | | | | | This adds the build system feature that allows Qt Creator's libraries and plugins to be compiled statically. Fixes some symbol clashes when all plugins are linked into the same executable. Support for actually loading static plugins will be added in a separate commit. The feature is controlled by QTC_STATIC_BUILD which by default is OFF. Change-Id: I1fab7953c43e42dc75619e35660029ee067106df Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Fix buildChristian Stenger2022-02-161-0/+1
| | | | | | | Amends 45c018f560a. Change-Id: Iefb39e0855bf671a7a27f161bb99529c03fb8a66 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Linux: (Optionally) Enforce XCB backend if QT_QPA_PLATFORM is not setEike Ziller2022-02-161-0/+7
| | | | | | | | | | | | | | | | | | | | Especially on older distributions, Qt/Wayland works worse than Qt/ XCB(XWayland). On Ubuntu 20.04, starting Qt Creator with Wayland can even crash the Wayland session (https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1958684/). We still want to ship the plugins, and allow forcing the usage of Wayland, since on the other hand Wayland works better in HiDPI environments for newer distributions. Behavior is enabled when configuring with -DQTC_FORCE_XCB=ON Task-number: QTCREATORBUG-26867 Change-Id: I623f001412f809381208b6cb3ec5b3fcfdb86011 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Robert Löhning <robert.loehning@qt.io>
* macOS: Disable ApplePressAndHoldEike Ziller2022-02-151-0/+6
| | | | | | | | | | | That feature allows entering special characters by holding a key, e.g. holding the 'l' key opens a popup that allows entering 'ł'. Since that disables key repeat, we don't want it, though. Fixes: QTCREATORBUG-26925 Change-Id: I5638337447778b0c873c68195307b92133882e69 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Introduce Utils::SingletonJarek Kobus2021-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce Utils::Singleton class and Utils::SingletonWithOptionalDependencies class template that helps implementing singletons that depend on other singletons. It's guaranteed that whenever singleton B depends on singleton A, than A is always created before B is being created, and that the order of destruction is always opposite to the order of creation. Dependencies of singleton are listed as template arguments for SingletonWithOptionalDependencies class template. The first argument of SingletonWithOptionalDependencies class template is always a singleton class itself. Prepare a common interface for all singleton subclasses: SingletonSubClass *SingletonWithOptionalDependencies::instance(); Make instantiating singletons and its dependencies thread-safe. Create singletons on demand (only if some code needs them). It's not needed anymore to explicitly instantiate all required singletons in tests. Make it possible (and thread-safe) to instantiate ProcessReaper and LauncherInterface singletons in non-main threads. Make the following dependencies between existing singletons: SshConnectionManager depends on: -> LauncherInterface depends on: -> ProcessReaper Change-Id: Iefaacab561c2b3dcf07e7fafbb87339ea6a15278 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge remote-tracking branch 'origin/5.0'Eike Ziller2021-09-131-1/+6
|\ | | | | | | | | | | | | | | | | Conflicts: src/plugins/clangtools/clangtoolssettings.cpp src/plugins/clangtools/executableinfo.cpp src/plugins/clangtools/executableinfo.h Change-Id: Id8caf63e3e594792467d3447870086bd2d8f73b9
| * Add branding option for application icon and logoEike Ziller2021-09-081-1/+6
| | | | | | | | | | Change-Id: I23ee91ab47d06aab370b2083d4f96f7833bf16ff Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Control the lifetime of SshProcessManagerJarek Kobus2021-09-101-1/+1
|/ | | | | | | | | | | | | | | | | | | | Make it possible to control when the SshProcessManager is being constructed / destructed. Expose public constructor. Since different singletons depend on each other, we need to control the order of creation and destruction of them. The order of creation is like that: 1. QCoreApplication 2. ProcessReaper 3. ProcessLauncher 4. SshConnectionManager The order of destruction must be opposite to the above. Change-Id: Ice07eb751cd61c03cb461816fa1b74ab040a53de Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* CMakePM: Add support for qtc_runnable featureCristian Adam2021-06-251-0/+1
| | | | | | | | | | | This will allow for the Qt Creator's CMake build only qtcreator target to be selected as runnable. Similar to qmake's qtc_runnable or Qbs's qtcRunnable features. Fixes: QTCREATORBUG-25908 Change-Id: I6416873d0ad9cfec4960d98fc4b289ec98cc58b1 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake build: Fix remaining issues with Devel packageEike Ziller2021-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | | On Linux (and Windows) we should not create toplevel files (README.md etc) or directories (doc/, scripts/ etc). On macOS, move the whole Devel package contents into the app bundle, because that is installed toplevel in the Qt installers, and we shouldn't even create include/, lib/ or any other directory at the toplevel at all. Since the prefix path must now point to the Resources folder inside the app bundle, adapt build_plugin.py to also accept --qtc-path pointing to the app bundle (Qt Creator.app) itself, and also to the app bundles parent directory. Adapt the Qt Creator plugin project template similarly. Task-number: QTCREATORBUG-25414 Fixes: QTCREATORBUG-25415 Change-Id: Ic756237fb920b54b1ec95d076649ad947b39a7e8 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* crashpad: fix install crashpad_handlerTim Jenssen2021-03-311-2/+1
| | | | | | | USE_SOURCE_PERMISSIONS only works for directories Change-Id: Iff80e7914766cf48af05aac7fbe6c6e6e900fb48 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* crashpad: fix execute permissionTim Jenssen2021-03-291-1/+5
| | | | | Change-Id: I44f5412b3903349f8cfbe12307fdf3bc2b24a6c8 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Find Crashpad via CMake configurationEike Ziller2021-01-201-49/+10
| | | | | | | | | | Makes it possible to point CMake to crashpad via CMAKE_PREFIX_PATH if it was built to <crashpad>/out/Default, or by setting individual CRASHPAD_* variables to the sources and build results. Change-Id: I9634fe7ab8c1e14b7e0f3ccf3415396c8dc1e71a Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* Add Crashpad to Qt Creator and Qt Design StudioMahmoud Badri2021-01-181-0/+51
| | | | | | Fixes: QDS-2748 Change-Id: I87e25682f066d167eebfd7b78c46c166e5062e11 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* cmake build: Do not copy whole app bundle directory when installingEike Ziller2020-11-131-5/+11
| | | | | | | | | | | CMake just copies the whole app bundle directory when installing a target, but we copy various things there that should not be part of the installation, like static libraries, executables with SKIP_INSTALL, Clang resources, and potentially .dSYM bundles. Fixes: QTCREATORBUG-24021 Change-Id: I98bb466b664d2d6d203f3adc20d8345d9b3ce3cc Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake build: Set LSMinimumSystemVersion on macOSEike Ziller2020-06-191-0/+3
| | | | | | | | | | Setting it to CMAKE_OSX_DEPLOYMENT_TARGET if that is set (either via cmake directly, or, as we do for the packages, by setting the MACOSX_DEPLOYMENT_TARGET environment variable). Fixes: QTCREATORBUG-22466 Change-Id: I7378bc32be6d66cf4e4b1eac1530c89159e74804 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake build system: Allow configuration without main appAlessandro Portale2020-01-161-0/+4
| | | | | | | Quite handy when working only with tetst. Change-Id: I018e703c3d4d47618b99ef183d930f8d015eeed8 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake Build: Add app_version.h to Devel packageCristian Adam2019-09-181-0/+6
| | | | | | Fixes: QTCREATORBUG-22802 Change-Id: I7616eab534127c806093240de430fe060d8bd0df Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake: Add a custom target to copy share/qtcreator into build folderTobias Hunger2019-06-031-5/+0
| | | | | | Change-Id: Iae78b8a154c80f26f08d5512c089f7eb802d3662 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake build/macOS: Generate app and project iconsEike Ziller2019-05-241-0/+22
| | | | | | Fixes: QTCREATORBUG-22473 Change-Id: Ice1d01569e320cac51a741e911a08a036702bc31 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake build: Visual C++ rc fixCristian Adam2019-05-201-6/+6
| | | | | Change-Id: I12a12ed984647baf8751ed53a63e0876171ef536 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CMake build / macOS: Fix Info.plistEike Ziller2019-05-201-0/+6
| | | | | | Change-Id: I160c9efd10e62b7e17957117daed376d2ce70601 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake build / Win32: Add rc file to qtcreator.exeCristian Adam2019-05-201-0/+20
| | | | | Change-Id: I47580f0357866d7931d0deb4daa02f601537722e Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Qt Creator CMake portCristian Adam2019-05-171-0/+19
Based on Tobias Hunger's work from a few months ago. The CMake configuration needs libclang and Qt paths specified as CMAKE_PREFIX_PATH. Auto tests are run with "ctest". At the moment the pass rate is 87%. Change-Id: Iba98e39bf22077d52706dce6c85986be67a6eab0 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>