Commit Graph

104 Commits

Author SHA1 Message Date
Cristian Adam
646d26b9cb CMake Build: Set BUID_WITH_PCH to OFF if CMake version less 3.16
Change-Id: I11a58cf2e67272b9d45a877dfa20c089706cfc2a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-05-07 16:29:13 +00:00
Eike Ziller
ae080facf5 CMake build: export less generic public includes
Do not put every plugin's and lib's source folder into public includes.
We require includes of the style <somelib/foo.h> and <someplugin/bar.h>
if someone depends on somelib or someplugin.

Change-Id: I3a9f200b7c3879cf431b00a1bab4a70f7aa0a9ec
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-04-24 11:40:51 +00:00
Eike Ziller
49626f7ea9 CMake build: Fix devel package issues
Include paths and headers were missing for building a separator
Qt Quick Designer plugin.

Task-number: QTCREATORBUG-23778
Change-Id: Ib6ba96ad42a8b2b36e0ee2f0e3c51c27f3365d37
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-04-23 10:03:37 +00:00
Eike Ziller
d347aa4003 CMake build: Support QTC_PLUGIN_REVISION
Change-Id: Icc3735b9b7d0d1fa8a9e8695da3cb39275b96219
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-04-09 10:22:52 +00:00
Cristian Adam
6d169ae7aa CMake Build: Less file creating during configure
Change-Id: I263853f0a903d81a8d869bc4f5683e1a1b0078e2
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2020-03-02 11:31:39 +00:00
Cristian Adam
82b6de6db6 CMake Build: Add qtdiag to Dependencies install target
Change-Id: If1c56ff6e366ec4d5c4bb97e4a176cf9cf8dc4c5
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-02-26 11:56:32 +00:00
Alessandro Portale
3a29497717 CMake build: Add a qtc_glob_resources function
This is the CMake equivalent of "RESOURCES = $$files()" from qmake.

Use it in StudioWelcome for the Qml resources.

Change-Id: I2f495e2c4bad9f0bb488dee7e8966e31acb51b5a
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-02-24 16:37:27 +00:00
Cristian Adam
266991740b CMake Build: Set CXX_EXTENSIONS to OFF for QtCreator plugins
This makes sure that if you have a plugin and set the
C++ standard to 14, but forget to set CXX_EXTENSIONS to OFF
you don't get weird PCH compilation failures.

Change-Id: I66edf6431624f667ba400e8ef79f2ad6170e3ca2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-19 13:59:01 +00:00
Cristian Adam
873a543c6f CMake Build: Do not set suffix for qtcreatorcdbext dll
Change-Id: Id0b5692df1661fe1e20b77d1e538c01fbb974b5e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-19 10:34:08 +00:00
Cristian Adam
f580b6f9f7 CMake Build: Skip PCH for targets that do not have QT_NO_CAST_TO_ASCII
One example is perfparser_lib.

Change-Id: I63f20dcba3aedbc8fbf948d30980baf6afd8c110
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-14 11:13:57 +00:00
Cristian Adam
4610112e7f CMake Build: Exclude Dependencies component from ALL
Change-Id: Iedc69399ec2983ecd3359969bf80bdcdfafad37a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-13 11:33:52 +00:00
Eike Ziller
09894c6e0b CMake build: Fix libexec path on Linux
It's just libexec/qtcreator/ without a trailing bin/

Change-Id: I96015dc5c3bb023dabd5b64f1bb9f83bd85b4d51
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-02-13 10:37:35 +00:00
Cristian Adam
eed49de35b CMake Build: Use install component Dependencies
Fixes: QTCREATORBUG-23593
Change-Id: If9861a0ee09f2ce12ac093c2fde600a77958723a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-12 09:30:05 +00:00
Eike Ziller
0e0c0185d2 CMake build: Put wininterrupt and cdbextension into separate components
And make it possible to turn off building the cdbextension library.
So they can be installed and packaged separately

Change-Id: Ic7da1411aa3973604b897e1cbf57ad9c5b0fe460
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-02-11 09:40:19 +00:00
Cristian Adam
a5178afb61 CMake Deployment: Move creation of qt.conf to add_qtc_executable
Change-Id: Icbeed128cc99b077aad925f278aaf9534d3f9fec
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-02-06 18:19:50 +00:00
Cristian Adam
decb6866b9 CMake Deployment: Fix deployment / rpath handing on Linux
Change-Id: Ic8eb8665e4ac43a49ecbf07f2a92873453c9faca
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-02-06 17:34:01 +00:00
Cristian Adam
ba2a23834c CMake Build: Brought back GoogleTest unittest
It was removed by accident from ctest, and it was not ran on
GitHub Actions.

Change-Id: I044bc5fc96e71211982c07c8796974e97fff5737
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-31 16:08:52 +00:00
Cristian Adam
1fac0d49a2 CMake Build: Add include guards for QtCreatorAPI
Commit e8fceb821e re-includes the file,
and things go bad.

Change-Id: Ifad79824f1a64459cd01337656b1a1300f49d06b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-01-31 12:59:07 +00:00
Cristian Adam
b3caf501ce CMake Build: Add Dependencies install target
Change-Id: I17f8d26500a9a75bef64e23c3b64492c1bb929cc
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-30 18:03:28 +00:00
Cristian Adam
48de5294c7 CMake Build: set a 5s timeout per test
At the moment MinGW build is running for 5 hours because a test
hangs.

The test suite should finish the 2700 tests in 120 seconds.

Change-Id: I71e2e740f916bb304c91a6a3054ae097b4076543
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-28 14:18:27 +00:00
Cristian Adam
e6e0b0ca3b CMake Build: add perfparser
Change-Id: Ib16548befefbb827f2752300f9e67da3cf91570c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-28 14:18:19 +00:00
Eike Ziller
bc4fd14ee4 CMake build: Some clean up for macOS
Don't install qtcreator.sh, it cannot be used.
Don't install application into bin/ subfolder. App-bundles do not follow
the UNIX bin/, lib/, share/ convention, so don't even try. (This makes
bundling it into a 7z consistent with what we do on the other
platforms.)

Change-Id: Ib3faa2909a9b30a11193586f279528f1b8bd96fa
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-01-24 11:43:27 +00:00
Alessandro Portale
aac0f2a8f5 CMake build system: Fix skipping tests with unmet dependencies
Handle google tests
amends: I0eadf5

Change-Id: I02837e2e3edcb7f4d9ae07991e2e311226c37a28
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-01-16 18:05:55 +00:00
Alessandro Portale
048f0f63c9 CMake build system: Skip building tests with unmet dependencies
Change-Id: I0eadf5a8d2c98486d2d8aabfe835f5ab0dbc9190
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-01-16 17:02:46 +00:00
Cristian Adam
ec5c626d15 CMake Build: do not set .dll extension for static libraries on Windows
Change-Id: Ic0cd8958641577164e7291f103dbd571fb0024cb
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-15 16:06:29 +00:00
Eike Ziller
1c37415604 Merge remote-tracking branch 'origin/4.11'
Change-Id: Ib47833b23e90c5f08b318d3d4985a4f3a450ee4b
2020-01-15 07:21:52 +01:00
Cristian Adam
91d50d4d46 CMake Build: match qmake naming scheme on Windows
Plugin4.dll and Library4.dll

Change-Id: Ifec8c04f4f0f2ee4315d31db288379fad2b41d48
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-14 17:36:46 +00:00
Eike Ziller
c22a840b10 CMake build: Fix version number in library file names
Make it compatible with the qmake build, with just the major version.

Change-Id: I3134b21b4775e7e83d135652dd66a51f3bdf91ab
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-01-14 15:39:10 +00:00
Orgad Shaneh
49f6b0146a Merge remote-tracking branch 'origin/4.11'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/mcusupport/mcusupportrunconfiguration.cpp
	src/plugins/python/pythonproject.cpp
	src/plugins/qmakeprojectmanager/qmakestep.cpp
	src/plugins/qmlprojectmanager/qmlproject.cpp
	src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp

Change-Id: I22507be28fd80c49c9fee0dff5937a40db176a82
2019-12-07 18:39:54 +02:00
Cristian Adam
ba31c5d554 CMake Build: do not fail to install on missing targets
The install target will install all targets that what have been built.

If some plugin is not being built (all Clang* plugins) by not having
the necesssary dependencies, it's not a failure not to have that plugin
at installation time.

Change-Id: I78b71a3fcae462d3eae7520744bfebab3f924bb4
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-12-03 15:00:37 +00:00
Eike Ziller
646c7860cb Merge remote-tracking branch 'origin/4.11'
Conflicts:
	src/plugins/genericprojectmanager/genericprojectplugin.cpp
	src/plugins/projectexplorer/environmentaspect.cpp
	src/plugins/projectexplorer/environmentaspect.h
	src/plugins/projectexplorer/environmentaspectwidget.cpp

Change-Id: Id21d62cf14419febd1e06c9b429fcdf4501c0eaf
2019-11-11 12:58:11 +01:00
Cristian Adam
eebf36adc7 CMake: Make sure that explicit plugin.h files depend on the json file
ClangCodeModel plugin was not updating its version number because of
the EXPLICIT_MOC call.

Change-Id: I109d80c93d8af628c8981d49c93dcb0ebe21f1ee
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-11-07 14:15:46 +00:00
Eike Ziller
4843216192 macOS: Fix execution of helper executables with UI
The qt.conf that is written into the Resources/ folder
is used for the main Qt Creator executable, so that cannot
be used for the helper executables.

Move the executables one more level down and add a separate qt.conf
for them.

Fixes: QTCREATORBUG-23120
Change-Id: Icd8842d246a1bc0e8d44656e2bc580d6698afbda
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-11-05 12:31:40 +00:00
Cristian Adam
6c25049019 Windows: Remove explicit usage of _WIN32_WINNT and WINVER macros
The are set in a central place, in the precompile header file.
Or as DEFAULT_DEFINES when the precompile header file is not used.

Change-Id: Ie020f916b64eabcd5a8153f4be5474986f5afed5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-10-31 11:45:20 +00:00
Tobias Hunger
b128d498b2 CMake Buildsystem: Enable visibility settings for binaries
This should not matter, but makes the add_qtc_executable targets
match up with the PCH, so that they should build a bit faster.

Change-Id: Ibecaaf7fd98d5b927d52e4956b1bea4a5775afba
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-10-21 11:20:14 +00:00
Tobias Hunger
a28f57abb9 CMake BuildSystem: Fix visibility handling for PCH
Change-Id: Ib91f03cf4f13ddefe365cf1e59cc083d700f0672
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2019-10-16 08:44:47 +00:00
Cristian Adam
d769db2c78 CMake Build: Enable PCH build with the latest CMake version
The almost 3.16 CMake version has support for C and C++ PCHs.
The library that creates the shared PCHs needs to have also
a dummy C file.

Change-Id: Ifc9e2ae43522dd5fda5261e938901f6a8ad1898c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-10-09 15:52:08 +00:00
Cristian Adam
87023db572 CMake Build: Properly build qtcreatorcdbext
Change-Id: I8b4a58d79124debd877442fe23798c77bff723c5
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-10-08 13:26:53 +00:00
Cristian Adam
f88ad0e9d0 CMake Build: Allow building with Qt5 and Qt6
Emulate Qt5's functions/targets with Qt6 equivalents.

Change-Id: I6bfc5c8a649f0ddc5f1117bc5b2d0f41cb72c821
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-09-24 16:05:23 +00:00
Orgad Shaneh
06b95a0269 CMake: Fix typo
This amends commit 4a20a596c8.

Change-Id: I67ef326c54702162ad56136e66c2f66bb407343e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-09-20 08:48:31 +00:00
Eike Ziller
8354d426de CMake build: Fix additional feature info
They were always printed as enabled, because the
condition is not evaluated within add_feature_info

Change-Id: I9e50648d037aebecdb895d4ce5f4de7c1fee3ead
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-09-20 06:07:13 +00:00
Cristian Adam
4a20a596c8 CMake Build: Use shared precompile headers
This will make the build directory size smaller, as only two
pch files will be generated. Not one for every target.

Change-Id: I3eec91e7536eab1c62bff8843f075f0ef7b5fff6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-09-19 11:38:34 +00:00
Cristian Adam
f275a1fa28 CMake Build: Fix CMake configuration when BUILD_WITH_TESTS=ON
The GMock/GTest unittest was not working with the latest translation
patches.

Change-Id: I83e337c6278cb93344c734c05d090a65def34a3b
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-09-19 09:55:30 +00:00
Tobias Hunger
c3f31b6332 CMake: Handle translations
(Optionally) re-generate .ts files from CMake by running lupdate and
run lrelease to generate .qm files.

Changes to qmake:

* src/libs/3rdparty/syntax-highlighting/src/cli/kate-syntax-highlighter.cpp
  is no longer translated: It's a command line tool that is not used by creator
* src/libs/aggregation/examples/text/main.cpp is no longer included in ts files
* src/libs/qt-breakpad/qtcrashhandler/* is no longer included in ts files:
  It is not built right now

Change-Id: Iec018da86a111a68ec983a880cef2961b48ccdf9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-09-17 12:37:14 +00:00
Cristian Adam
486aaabd21 CMake Build: Use same Qt compiler defines for tests
Source code needed adjustments though.

Change-Id: I78b4610a6bb895a385c7c30a6c92c97a276b89dd
Reviewed-by: hjk <hjk@qt.io>
2019-09-10 15:05:59 +00:00
Eike Ziller
d9d18ee393 CMake build: Add some more feature info
About script Locator filter and helpviewer backends

Change-Id: If371ff824d16715f16ec9b245f42efe0d506c665
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-09-03 07:05:27 +00:00
Nikolai Kosjar
0ba729e527 Import YAML-Parser yaml-cpp
Version: tags/yaml-cpp-0.6.2
  License: MIT

yaml-cpp requires c++11 and since yaml-cpp 0.6 there is no dependency on
boost anymore.

A YAML parser is needed for the ClangTools plugin to parse exported
diagnostics from clang-tidy/clazy:

  $ clang-tidy -export-fixes=/tmp/tidy.yaml source.cpp

The imported source is stripped of unneeded files as documented with

  src/libs/3rdparty/yaml-cpp/patches/0001-yaml-cpp-Strip-unneeded-sources.patch
  (generated with "git format-patch -D")

Change-Id: Ib0a521b5aff4b1cd058eb480bfb99fde4b320dc7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-30 08:42:22 +00:00
Eike Ziller
30143478f3 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	src/libs/utils/consoleprocess_win.cpp

Change-Id: Ibdc265eed2f7080726e11ff6f2931c8559943af2
2019-08-22 09:53:37 +02:00
Eike Ziller
a1d48830b1 CMake build: Make it possible to put plugins into Qt Creator build
In the super repository builds we want all plugins to end up
at a single place, so running the build result includes all plugins,
even without an explicit install.

With this patch we can set QTC_MERGE_BINARY_DIR in the super
CMakeLists.txt to achieve that.

Change-Id: I8b590e5a521a06aa5a8f00ef0e60f5c3b4349ee2
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-19 12:11:10 +00:00
Eike Ziller
8201d49ea0 Merge remote-tracking branch 'origin/4.10'
Change-Id: I4d24269ef040c45e2143dfa86d1be3f7e8008521
2019-08-15 08:57:27 +02:00