aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* CMake build: Make Qt6::Core5Compat available in a portable wayEike Ziller2020-09-071-2/+5
| | | | | | | | | | | While porting to Qt6 we'll need the compat library at some places. Add a custom Qt6Core5Compat target that we can unconditionally use. For Qt5 it refers to a dummy target. For Qt6 it refers to the actual compat library. Task-number: QTCREATORBUG-24098 Change-Id: Idd2b9f285352f685cfe715eee3fa046dfb468873 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake build: Check minimum Qt versionEike Ziller2020-09-031-2/+2
| | | | | Change-Id: I81244c2480d647a2cf48885b2a125a02b11767b4 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake build: Support building clang tooling without static libsEike Ziller2020-09-031-12/+2
| | | | | | | | | | | Create a FindClang.cmake and move all Clang configuration there. Find Clang and choose static libraries if available, otherwise use clang-cpp if available. Add option to link to clang-cpp even if static libraries are available. Fixes: QTCREATORBUG-23172 Change-Id: If40304d174469df0c786259e724cbee8de0e2d0e Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Merge remote-tracking branch 'origin/4.13' into masterEike Ziller2020-08-211-1/+1
|\ | | | | | | | | | | | | Conflicts: CMakeLists.txt Change-Id: I799060da2cb299bb0c49a3da3530fad18427a23c
| * CMake build: Stop looking for QtScriptEike Ziller2020-08-191-1/+1
| | | | | | | | | | | | | | | | It is no longer used. Amends 7a3f5edfafaed19f71cd08655b6bbaa770b39f12 Change-Id: Id76d05a303179f071cdc334dd0f1e7041b7eaa92 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | CMake: Use Qt5::DesignerComponentsTobias Hunger2020-08-101-1/+2
| | | | | | | | | | | | | | | | QTBUG-75867 about missing Qt5::DesignerComponents support has been fixed, so use that over our own hand-rolled version. Change-Id: I6d8bb7f7d5359050f20a095adb4a074f143e8d49 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Require GCC 7 and enable C++17Eike Ziller2020-07-101-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | Fix MSVC2019 - result type of conditional expression is ambiguous: types 'const char [1]' and 'QByteArray' can be converted to multiple common types Fix MinGW 8.1 - undefined reference to SemanticHighlightNotification::methodName Fix Utils::transform with std::vector for GCC & MSVC Unfortunately we cannot get rid of the special variant and optional implementations, because Apple Clang requires deployment target >= 10.14 for the functions that can throw std::bad_optional_access. Fixes: QTCREATORBUG-20520 Change-Id: I5c36a70f21f8b0215d2f4fc5c0653a022778d928 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Marco Bubke <marco.bubke@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
* CMake build: Add feature info for building testsEike Ziller2020-06-041-0/+1
| | | | | | | Was wondering if my current build included tests or not... Change-Id: I17030455ffd89d6b482e8cc08da3cb3b2dcbbe35 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake Build: Set /permissive- (standards conformance mode) for MSVCVolodymyr Zibarov2020-05-291-0/+5
| | | | | | | | | | | | | | | | | To make errors appear faster when developing on Windows MSVC 2017 and later have this flag to disallow MSVC-specific C++ language extensions. Use it to make code more correct and more portable. Set this option with add_compile_options() in root CMakeLists.txt to apply it to all targets. Add one #include to unittest/gtest-clang-printing.cpp as workaround for forward template declaration bug in MSVC http://tiny.cc/fa4tpz Change-Id: Ie0b19701ad773c79ffd2fed24fffbb1dcb29538c Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CMake Build: Update CMake minimum Version to 3.10Cristian Adam2020-05-261-1/+1
| | | | | | | | | | | | | | | This is due to policy CMP0071 which affects AUTOMOC and generated files. With CMP0071 set to OLD (CMake 3.9) precompiled headers would fail to work with GCC. GCC and precompiled headers would still require the upcoming 3.18 CMake, but having CMP0071 set to NEW (CMake 3.10) is a prerequisite. Change-Id: I7c3c1f739877646a91ffa07e2a8006ab7d6f4d77 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake build: Move documentation functions to re-usable locationEike Ziller2020-05-251-34/+1
| | | | | | | | | | | Removes "install_..._docs" and "clean_docs" special targets. Instead install documentation with "--install . --component qch_docs" and "--install . --component html_docs" which have the advantage that the install prefix can be specified later on with --prefix. Also removes export of IDE_SOURCE_DIR, which is not used. Change-Id: I4fce0b9aa8c7fc40b7e94e065777ddf4c0b76c41 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake build: Make translation function available to external pluginsEike Ziller2020-05-051-0/+1
| | | | | | | And fix that the "ts_all" target did not get the custom target prefix. Change-Id: Iff6a5e328456f3d949c31f2e41b48c400fad773c Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Fix link on commit sha in about dialogEike Ziller2020-03-231-2/+2
| | | | | | | | | | Passing a URL via defines breaks when trying to "stringify" it. It would always stop at the first slash. Instead use a qmake variable directly. That has the additional advantage that the value isn't passed on each and every compiler command line. Change-Id: I97a297fbcdee5ea03eb6fa08181c95b1ad2de767 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake Build: Let the version dialog log link point to the repo of originAlessandro Portale2020-02-101-1/+2
| | | | | | | | | | | | | | | | | https://github.com/<qtcreator-fork>/commits/<sha> Instead of expecting a "%1" placeholder in the passed-in IDE_REVISION_URL_STR, we now expect IDE_REVISION_URL_STR to be a plain URL. Reason is that passing a string containing "%1" from CMake to the VersionDialog caused a premature replacement of that placeholder somewhere on the way. Also log the CMake configure call in build_cmake.yml Change-Id: I4c1a946c66f891101576e3556ca87a004cead950 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake Deployment: Remove Dependencies componentCristian Adam2020-02-061-0/+5
| | | | | | | | | - Install will also copy the dependencies. - Made the dependencies search recursive, not just two steps - Moved install code to a script, not having to escape quotes and dollars Change-Id: I6c5fb19e4094e9dcd4b339d5b90be6e7c5055223 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CMake Build: add perfparserCristian Adam2020-01-281-1/+4
| | | | | Change-Id: Ib16548befefbb827f2752300f9e67da3cf91570c Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Merge remote-tracking branch 'origin/4.11'Eike Ziller2020-01-031-0/+6
|\ | | | | | | Change-Id: I0657cee6b87eea7b3178548bebed85d5ac824519
| * CMake build: disable some warnings for build against llvmqds/v1.4.0David Schulz2019-12-191-0/+6
| | | | | | | | | | | | | | | | Add the same ignore warning flags to the compiler as in clang_installation.pri Change-Id: Ieb3f6ac861cba60b6c7fb3c74e4c9b46a62d22b9 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* | CMake: Do not require Qt LinguistToolsTobias Hunger2019-11-131-1/+3
|/ | | | | | | | They are only used optionally for the translations, so there is no need to require those. Change-Id: I9f84e0d62f7075394e9f260c11746e4327e60995 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CMake Build: Properly build qtcreatorcdbextCristian Adam2019-10-081-4/+0
| | | | | | Change-Id: I8b4a58d79124debd877442fe23798c77bff723c5 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Merge remote-tracking branch 'origin/4.10' into 4.11Eike Ziller2019-10-021-1/+1
|\ | | | | | | | | | | | | Conflicts: src/plugins/projectexplorer/projectnodes.h Change-Id: I10a749cca38c2d0929cf4d2b74ab089e14b6157b
| * CMake Build: Fix LLVM lookup for cases when many versions availableAlexander Akulich2019-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | If calling both find_package(Clang) and find_package(LLVM), call find_package(Clang) first to get the currently active Clang version by default with a consistent version of LLVM. (Similar to the FindPythonInterp/PythonLibs ordering) Change-Id: Ib6da04e0fb0ffc1fe67a8eafb0c5f04abbb36b6c Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* | CMake Build: Allow building with Qt5 and Qt6Cristian Adam2019-09-241-4/+8
| | | | | | | | | | | | | | Emulate Qt5's functions/targets with Qt6 equivalents. Change-Id: I6bfc5c8a649f0ddc5f1117bc5b2d0f41cb72c821 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | CMake: Handle translationsTobias Hunger2019-09-171-2/+2
|/ | | | | | | | | | | | | | | | | (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>
* CMake build: Build with PCHCristian Adam2019-08-141-1/+2
| | | | | | | This commit enables building with upstream CMake PCH support. Change-Id: Ib37745b00e7560e804483e7c2c2a3fa7cf6d663c Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake build: Add "Devel" packageCristian Adam2019-07-251-67/+2
| | | | | | | | | The "Devel" package will contain headers, libraries, documentation needed by the 3rd parties to build Qt Creator plugins. Fixes: QTCREATORBUG-22514 Change-Id: If54929f823982b921b98a63ff6085d53618a3a49 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake build: Allow brandingEike Ziller2019-06-211-20/+6
| | | | | | | | | | Create your own QtCreatorIDEBranding.cmake somewhere and point cmake to it via CMAKE_MODULE_PATH Task-number: QTCREATORBUG-22488 Change-Id: Ic1057d879c5104b57e4ed8ef8a9c4fc8d4140de9 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake build: Do not write versions etc into the cacheEike Ziller2019-06-211-22/+21
| | | | | | | | | | The user is not supposed to change these via configuration. If they are written to the cache, version bumps do not take effect automatically, resulting in quite some hassle. Change-Id: Ibaf9dba02114da1cbc3ec2210ae7c3328f35bb1f Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Bump versionEike Ziller2019-06-201-3/+3
| | | | | Change-Id: I5d2298e71837e3c146196f75a9bd1472771f1949 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake build: Ensure compilation when Qt5::Script is missingCristian Adam2019-06-031-2/+2
| | | | | | | | | | | The Qt5 Visual C++ 2017 64 bit installation doesn't come with Qt5::Script target by default. This patch ensures that Qt Creator can be built with the above Qt5 scenario. Change-Id: Ibe35e9d879ccd51012f53acebfbb7461fd773d4a Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CMake: Add Threads::Threads as public dependency to clangrefactoringbackend ↵Tobias Hunger2019-06-031-0/+2
| | | | | | | | library Change-Id: If7d3d4a7226f034d0e4c66726d3a7beed3480efe Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake build/macOS: Add iostoolEike Ziller2019-05-241-0/+3
| | | | | | | Task-number: QTCREATORBUG-22475 Change-Id: Ifd9a9dc1483d223c446fd25a45e3cd1778bc94d1 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake build/macOS: Centrally detect system librariesEike Ziller2019-05-241-0/+8
| | | | | | | | | And realize that at most places (except native help viewer) the code using them is not optional on macOS. Change-Id: I308406a0e8f176dad4151d23a33cd3fc0fb8635c Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: add docs, clean_docs and install_docs targetsTobias Hunger2019-05-211-0/+2
| | | | | Change-Id: Ic9883f0fc8c85db4573e751261cf347e56777a3a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: Get information from qmakeTobias Hunger2019-05-211-0/+34
| | | | | | | Get information that is not available via cmake from qmake. Change-Id: Ib80cd472bcb5ea831991de5fcbcb7e2400a1ce10 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake build / macOS: Fix Info.plistEike Ziller2019-05-201-1/+2
| | | | | | Change-Id: I160c9efd10e62b7e17957117daed376d2ce70601 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Qt Creator CMake portCristian Adam2019-05-171-0/+162
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>