aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
Commit message (Collapse)AuthorAgeFilesLines
* CMake build: Fix issues with Devel package for qmake-based pluginsEike Ziller2021-03-171-0/+4
| | | | | | | | | Add the pch files that qmake uses. On Windows, the .lib files must have the major version too, like the DLLs. Change-Id: I437bbeac0323c5b9bc174ddea8c0d9be6497b4e6 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Bump IDE_COPYRIGHT_YEAR to 2021Alessandro Portale2021-03-101-1/+1
| | | | | Change-Id: Iadb0f2618b02cd9f36366d718d50be7efcb5f679 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Bump version to 4.14.2Eike Ziller2021-02-241-2/+2
| | | | | Change-Id: I792587c71eadf0b2602d73e7fa4be324cc2766cf Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake build: Add .pri files to development packageEike Ziller2021-02-221-0/+14
| | | | | | | | | | | | | This adds at least partial, transitional support for building 3rdparty plugins with qmake against Qt Creator built with CMake. This might still miss some other .pri files that follow their own naming conventions. Fixes: QTCREATORBUG-24055 Fixes: QTCREATORBUG-25334 Change-Id: I83cc547da938976c2ec12a21a17f286b937147f7 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Remove unused internal variablesEike Ziller2021-01-252-34/+0
| | | | | Change-Id: I68ed91462c3b3c9f27c2a0a5749c373704ce467a Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Use GNUInstallDirs for installation paths on LinuxEike Ziller2021-01-071-17/+18
| | | | | | | | Allows e.g. distributions to adapt to system layout. Fixes: QTCREATORBUG-25142 Change-Id: Ia6d759514fef5a154334bc3d7221ea4b970122f2 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Make separate debug info optionalEike Ziller2020-12-222-2/+3
| | | | | | | | | In the CMake build in general, but still use it for RelWithDebInfo builds with the build*.py scripts. Fixes: QTCREATORBUG-25151 Change-Id: I8414f953278ebb395f73414c12af0ed7bd4fcdbe Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Fix compilation of ClangFormat plugin against LLVM with clang-cppEike Ziller2020-12-181-0/+2
| | | | | | | | | The ClangFormat plugin needs to link against clang-cpp in that case as well. Fixes: QTCREATORBUG-25138 Change-Id: I84b1784b291d8944a9dee66ec14db32ad72ff8b5 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Fix handling of test dependenciesEike Ziller2020-12-181-1/+10
| | | | | | | | | | | | | | Test dependencies are not "real" code dependencies, they just declare that for testing the plugin the other plugin has to be loaded, even though it is _not_ a code dependency. Add PLUGIN_TEST_DEPENDS to add_qtc_plugin. We cannot assume that the target exists at that point, so adapt the usual pattern. Fixes: QTCREATORBUG-25024 Change-Id: I4165ff8df762309e0be0bfe9e8bedef796a3bf17 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Bump version to 4.14.1Eike Ziller2020-12-171-2/+2
| | | | | Change-Id: I0391715109a6ac43da4b3b744a845cf914b0d0b2 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* cmake build: Fix configuration for BUILD_LIBRARIES_BY_DEFAULT=OFFEike Ziller2020-12-151-4/+6
| | | | | | | | | | Or BUILD_LIBRARY_YAML-CPP=OFF. In that case the add_qtc_library does not result in a target, so we must check before accessing it, and should not claim that yaml-cpp is available if it isn't. Change-Id: I710ce726d65f7a1c036fd94ebeb18ead290a45f2 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Fix PLUGIN_RECOMMENDSEike Ziller2020-12-111-8/+6
| | | | | | | | | | | | Use the right variable name, and syntax for iterating the list. Fix plugin configuration order, so targets are found. Fix misspelled plugin name. Also remove unused and wrong "EXPERIMENTAL" option. Change-Id: I77cc5d12ebdaa8bcd0315dd830a9435c648b2ba3 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Clang: Fix enabling of ClangFormat plugin with RelWithDebInfoEike Ziller2020-12-081-10/+35
| | | | | | | | | | | RelWithDebInfo also builds in release mode, so just checking for the build type to match is not enough. Amends 6b62a99a8a7c37b119fc08a3b23ca386ba1cfe61 Fixes: QTCREATORBUG-25056 Change-Id: I5ea448e1cdd0cb3b76d052d6019337cdf13bdbc4 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Bump version to 4.14.0Eike Ziller2020-12-031-3/+3
| | | | | Change-Id: I419bf8e73519be8f796dbf4399ebebedf3d74ffb Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Bump version to 4.14.0-rc1Eike Ziller2020-11-241-3/+3
| | | | | Change-Id: Ifcb361437d1cac7d69e871a980a1824dc94b4c22 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* cmake: fix no libclang buildsTim Jenssen2020-11-231-1/+1
| | | | | Change-Id: Id5ce15851bf1cdbd3661adcf5751e66a4cf96930 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* cmake: disable reuse pch files for static libs with MSVCTim Jenssen2020-11-231-0/+8
| | | | | | | | | Was not able to build something against these libraries from another "cmake project". Change-Id: I3876d102a320b4f5324e25fd8e840c181010c2a7 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake: Fix building debug with release libclangChristian Stenger2020-11-231-0/+12
| | | | | | | | | | | | Parts of QC cannot be linked against a release build of clangTooling libs and vice versa when building on Windows. Check whether the provided libs match the current build mode and disable respective parts if necessary. Re-use this information to decide whether unittest should be build or not. Change-Id: Ibc2aab0d7886e78ebbf8f15a43152efad49f1eff Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* cmake build: Remove unused component "Dependencies"Eike Ziller2020-11-233-294/+0
| | | | | | | | | | | We don't use it for packaging, nor for github anymore, it duplicates a whole lot of logic, and that only partially (as an example fixing the RPATH for clang tools on macOS is missing), and the Clang part only works with CMake >= 3.14 ("file(READ_SYMLINK"), which was the final trigger of this patch. Change-Id: I21ff6b01297009eff15bda36963e729dea4927c8 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build/macOS: Fix installing when built with Qt6Eike Ziller2020-11-181-1/+2
| | | | | | | | | | | | | | | | | | In a framework the actual library can be accessed via two different paths: - Foo.framework/Foo - Foo.framework/Versions/A/Foo It happens that Qt5 exports the first variant for the framework LOCATION and Qt6 exports the second variant. We want to cut the whole "Foo.framework" part for the framework's location, so actually do that. Amends 98db9774f2363314f51b1732646396112418320e Change-Id: Idad12e92f2bfbdc480256a832320c4dec76a0e5f Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Create DebugInfo component with separate debug infoEike Ziller2020-11-173-0/+182
| | | | | | | | | | | When building with RelWithDebInfo. The CMake code is adapted from corresponding (internal) functions from Qt 6. Also let the scripts create an additional *-debug.7z with the debug info. Task-number: QTCREATORBUG-24916 Change-Id: Ibc3c8c0013718b9c5e868136e5ce01e1e99f84c4 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Fix building with PCHsEike Ziller2020-11-161-2/+4
| | | | | | | | | | | - fix target name - build pchs without extensions like all other targets - require CMake 3.10 for plugins Amends c038abb0abc9c346d5041c4cbbe201905e2ac041 Change-Id: I0eae58a9e7ce91c0df6103790cb91a5229d06051 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake Build: Fix problems with PCH and super repoCristian Adam2020-11-131-7/+7
| | | | | | | | | | Make sure that every project will have its own precompile headers sets. This fixes problems with MSVC. Change-Id: I37d58c9652f679545283907e7cad70cd579911a8 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* cmake build: Use CMAKE_INSTALL_NAME_TOOL instead of hardcodingEike Ziller2020-11-131-2/+2
| | | | | | | Amends 98db9774f2363314f51b1732646396112418320e Change-Id: I4aaaddcfc0e5cc31bb0646a3a3ccc18ee2fa5ff1 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Do not copy whole app bundle directory when installingEike Ziller2020-11-131-6/+68
| | | | | | | | | | | 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>
* yaml-cpp: Fix/suppress MSVC warningsOrgad Shaneh2020-11-121-0/+3
| | | | | | | | | | | | * C4251: 'YAML::Binary::m_data': class 'std::vector<unsigned char,std::allocator<unsigned char>>' needs to have dll-interface to be used by clients of class 'YAML::Binary' * C4275: non dll-interface class 'std::runtime_error' used as base for dll-interface class 'YAML::Exception' * STL4015: The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. Change-Id: I37e32df84ee2d2946181aad790dabd0c3ed58c08 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Map generic IMPORTED_LOCATION for Qt6 toolsEike Ziller2020-11-111-1/+1
| | | | | | | | | | There once was a time where the Qt6 build only set IMPORTED_LOCATION_<CONFIG> but nowadays it also sets IMPORTED_LOCATION. Use the latter to make it work with both debug and release builds of Qt6. Change-Id: Ic8b14209cb97b47eb6136e23390045e115a12ac0 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Remove branding from target namesEike Ziller2020-11-111-6/+6
| | | | | | | Targets are never branded Change-Id: If7f23ac005b5492d52f87ba71789e674bb077a00 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Fix brandingEike Ziller2020-11-091-5/+5
| | | | | | | | The cmake build used IDE_ID in too many paths that are actually not branded (yet?). Change-Id: I019dd806975ef2205aa946bc3b27b0675233e1ea Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* cmake build: Disable refactoringbackend and pchmanagerbackendEike Ziller2020-11-051-5/+18
| | | | | | | | | | | | | | | | | | Disable the libs and executables if not needed by either the plugins or by the tests. So far in the cmake build the ClangRefactoring and ClangPchManager plugins were disabled by default, but the backend executables were still built. With this change the executables are not built if the plugins are not enabled, like it is the case in the qmake build. To make it possible to build all the tests even though the plugins are disabled by default, the backend libraries are still built if tests are enabled. Change-Id: I3b61479525e1472a55215f1b003fea9facaf9e93 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Marco Bubke <marco.bubke@qt.io>
* cmake build: Fix disabling of documentation targetsEike Ziller2020-11-051-1/+1
| | | | | Change-Id: I8827dcc38c908ef9e19b9a59bb9559d29b0ff77e Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Handle turning on/off libraries the same as pluginsEike Ziller2020-11-021-20/+25
| | | | | | | | | | | | | | | | Previously the library targets were added, but with EXCLUDE_FROM_ALL. This had the effect that libraries were not compiled if nothing depends on them, but lead to various issues: It wasn't possible to manually control compilation, and it lead to the library targets still being exported, leading to configuration errors when building external plugins. Implement the same mechanism with BUILD_LIBRARY_* as with plugins, giving complete control. Change-Id: Idea3371d130593c5c2fdceee374021b6923db0c9 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* cmake build: Fix documentation generation with Qt6Eike Ziller2020-11-021-0/+2
| | | | | | | | qhelpgenerator moved to a separate package "Tools" which doesn't exist in Qt5. Task-number: QTCREATORBUG-24098 Change-Id: If7d0d638d6cee27f9154141ca415fb412745d1ee Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Add missing rcc alias for Qt6Eike Ziller2020-10-301-1/+1
| | | | | Change-Id: I353ded95f8ee8fd263d7a9f830cdcf662a250bd1 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* TextEditor: Add missing file to dev packageEike Ziller2020-10-292-13/+16
| | | | | | | | | | | | The public header "textdocumentlayout.h" includes "State" from KSyntaxHighlighting, so we need to export that. Since it doesn't have the ".h" extension, it doesn't get exported automatically either. Add a generic function for adding such special public header files. Fixes: QTCREATORBUG-24413 Change-Id: I841e6d601df7e925f48eedcc2a28d6b43c00350e Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Bump version to 4.14 beta2Eike Ziller2020-10-291-3/+3
| | | | | Change-Id: Ife5666e272697da19e1ba1a96d93281943deb37e Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* cmake build: Allow branding to change documentation fileEike Ziller2020-10-281-2/+4
| | | | | | Task-number: QTCREATORBUG-22488 Change-Id: I80a1feafa7b027dc99acdb019359037ae0259573 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Use qtc_add_resources for StudioWelcomeEike Ziller2020-10-271-13/+0
| | | | | | | Avoids creating resource file if plugin is disabled. Change-Id: Ia3e1a127c49cae4b03547367a78ca7dd8c3689f3 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Revert "cmake build: Disable clangpchmanagerbackend and refactoringbackend"Eike Ziller2020-10-271-6/+2
| | | | | | | | | | | | | | The change breaks the dev package: The imported target "QtCreator::clangrefactoringbackend_lib" references the file "/home/qt/work/build/qtc_build/lib/qtcreator/libclangrefactoringbackend_lib.a" but this file does not exist. This reverts commit 20a620745982368f71ac890dedfde6429d9e4e84. Change-Id: I68f3b6948bde611b9e5b841d1fde2b136877cbfc Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* cmake build: add qtc_add_resources to APIEike Ziller2020-10-271-0/+81
| | | | | | | | Adapted from qt6_add_resources. Takes a list of files and compiles these into a resource file. Change-Id: I375aa17b76e283b90bc0cbe8b6859520bcac7da3 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Disable clangpchmanagerbackend and refactoringbackendEike Ziller2020-10-261-2/+6
| | | | | | | | | By default. Previously only the corresponding plugins were disabled, but not even building the backends makes more sense. Change-Id: I36d61869a3050f37da1f480dea89e7539dda599a Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Marco Bubke <marco.bubke@qt.io>
* cmake build: Add option for exporting pluginsEike Ziller2020-10-222-2/+40
| | | | | | | | | | | | | | That can be used for external plugins. Just add the option "EXPORT" to your "add_qtc_plugin(MyPlugin ...." call. Other plugins can then do "find_package(QtCreatorMyPlugin)" and link against "QtCreator::MyPlugin". Supports both using a Devel install or using a build directory of the plugin that is depended on. Task-number: QTCREATORBUG-22803 Change-Id: I80724eca8c828d2d5be307d32f3125c4e3bd8b3a Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake build: Fix export name in case of brandingEike Ziller2020-10-221-2/+2
| | | | | | | | We must use the same name everywhere for the export name, for simplicity stay with QtCreator, since this is not user-visible anyhow. Change-Id: I4f51982534662d46401dad1320eec3758eed055b Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake Build: Allow building unittests when targets are missingCristian Adam2020-10-201-1/+9
| | | | | | | | when configuring a minimal build make sure that when querying for target properties like SOURCE_DIR the target actually exists. Change-Id: Ib754b79be6461e3ddd4cdeb1abac123cf4535068 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake Build: Fix missing pythonXY.zip on MSVCCristian Adam2020-10-191-0/+79
| | | | | | | Ammends 94b9b33a17e3f7760cbbf9abd021984839106647 Change-Id: I531a648a108233fbefbe6878f65f8ab7186db39a Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake Build: Fix PCH builds for non MSVC platformsCristian Adam2020-10-081-2/+1
| | | | | | | Ammends 2129a04c5d61d5a55a76045f2727e5b7f9048c6b Change-Id: I50fc1bf2e5ef4742243aa08a4e5ad2bfee459eb1 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* CMake Build: Fix MSVC PCH buildCristian Adam2020-10-071-1/+2
| | | | | | | | Ammends 735078cd805709ed08cefe5195ce0535f6b7acc7 Change-Id: I01296641ca0681d4fef376087368e247dce011f8 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake build: Create shared lib for shared part of qmlpuppetEike Ziller2020-10-061-10/+32
| | | | | | | Which is used by external plugins. Change-Id: I2d700c02ff3d4b2d692486bd64ef16449deffc4e Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake build: Add missing PROPERTIES to add_qtc_pluginEike Ziller2020-10-061-1/+1
| | | | | | | And use it for QmlDesigner Change-Id: Id7221ee2288159ff2faaf4ac483570034927f1b4 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake Build: Add option to build plugins, libraries, executables by defaultCristian Adam2020-10-011-3/+7
| | | | | | | | | You might want to build only a specific list of plugins, libraries, or executables by opting in, instead of building all of them and opting out. Change-Id: Ic81da380828779e409ba4192f307aa1b77a89808 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>