summaryrefslogtreecommitdiff
path: root/cmake
Commit message (Collapse)AuthorAgeFilesLines
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-251-1/+1
| | | | | | Task-number: QTBUG-105718 Change-Id: I2df3a8aec11f30f301e3143e9960156b6f45e614 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add license headers to cmake filesLucie Gérard2022-08-021-0/+3
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I41a2c9aa6a933a4e3dda5d5b4c70c461912907b2 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Fix FindWrapLibClang.cmake run for Clang-based lupdateFrancisco Boni2022-02-231-1/+1
| | | | | | | | | | | | | | When FindWrapLibClang.cmake runs for the Clang-based lupdate parser, it fails because the generator expression __qt_clang_genex in target_link_libraries is not explicitly quoted. According to cmake docs (https://cmake.org/cmake/help/latest/command/target_link_libraries.html#target-link-libraries): "If the ... contains any ; characters, e.g. after evaluation of a ${list} variable, be sure to use an explicitly quoted argument "$<...>" so that this command receives it as a single <item>" Change-Id: I3f730b767d9b89f5c4aa19272aab03eb12f0edb2 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix FindWrapLibClang.cmake for multi-config buildsJoerg Bornemann2020-11-021-1/+11
| | | | | | | | | | Do not error out if CMAKE_BUILD_TYPE is not a release configuration. In the multi-config case we must check that CMAKE_CONFIGURATION_TYPES contains at least one release configuration. Fixes: QTBUG-88039 Change-Id: I3b8eeede297dae8d0149739928431bc6e416396c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Re-indent FindWrapLibClang.cmakeJoerg Bornemann2020-11-021-32/+32
| | | | | | | Fix the inconsistent style to simplify future edits. Change-Id: I885c459d3275920c30eb2b9b200aa6a5ae420761 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix building qdoc and qtools with Qt prebuilt ClangAlexandru Croitor2020-09-191-2/+5
| | | | | | | | | | | | | | | | | | Some Clang distributions offer the LLVM CMake target (like the Ubuntu 20.04 system one, as well as the OpenSuse system one), whereas others don't have it (like the official Ubuntu llvm package from llvm.org or the Qt prebuilt one used in the CI which is based on the llvm.org one). Check for the existence of both the clang-cpp and the LLVM target before trying to link to them, otherwise use the old method of linking to clangHandleCXX. Amends 166be41502ac77fc355f7c28c3289c95ee45b543 Change-Id: Ib496f7fc99d56dc4a051a6c9c8f162b1d6a4eacf Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Christophe Giboudeaux <christophe@krop.fr>
* CMake: Fix build when using the unified clang libraryChristophe Giboudeaux2020-09-151-2/+5
| | | | | | | | | | | | Since version 9, Clang can produce a single clang-cpp which replaces all the clang component libraries. If the unified library exists, WrapLibClang will use it for linking targets. Task-number: QTBUG-83864 Change-Id: I81df7001daa79bf90dbd631c856e6a9c6aeccd02 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Don't add LLVM_INSTALL_DIR to CMAKE_FIND_ROOT_PATHAlexandru Croitor2020-09-101-8/+0
| | | | | | | | | | | | | | | | | | | | | The original intention of adding LLVM_INSTALL_DIR to CMAKE_FIND_ROOT_PATH was to make it easier for a developer to specify the location of Clang even when cross-compiling. Unfortunately our CI has LLVM_INSTALL_DIR pointing to the regular Linux host libclang directory. This causes the qemu builds to pick up the host libclang libraries and trying to link them to the arm binaries, which of course fails. Remove addition to CMAKE_FIND_ROOT_PATH. If somebody actually needs to cross-compile qdoc / lupdate with an arm clang, it can still be specified / found via the usual CMake means, like specifying -DCMAKE_PREFIX_PATH and -DCMAKE_FIND_ROOT_PATH on the command line / toolchain file, or by specifying -DClang_DIR. Task-number: QTBUG-83968 Change-Id: Ic07dae889685c10bad93525daa5a1dbd4dd8f388 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Disable global promotion of Threads target using new APIAlexandru Croitor2020-08-251-0/+1
| | | | | | | | | | | Revert the previous temporary fix, and use the new API for excluding Threads target from global promotion, thus avoid a configuration error. Task-number: QTBUG-85877 Change-Id: If09d84f7deab07ec20581612d3f29143851f6fdb Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Use LLVM_INSTALL_DIR env and cache var when looking for clangAlexandru Croitor2020-06-291-0/+21
| | | | | | | | | | | | | | | For convenience and compatibility with what Coin currently sets, instead of forcing a user to set CMAKE_PREFIX_PATH to point to the llvm dir path (and thus override any previously set path, perhaps by a toolchain file), allow usage of either the LLVM_INSTALL_DIR environment variable or CMake cache variable. Make sure to use the value for CMAKE_FIND_ROOT_PATH as well, in case if doing cross-builds, and the path is not in the sysroot. Change-Id: I6927f14d7f721a018323225f6276a2c388dfcf20 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix configure.cmake usage for libclangAlexandru Croitor2020-06-291-16/+33
| | | | | | | | | | | | | | | | | | | | | | | Now that the qmake situation of the configure.json files in regards to libclang is fixed, we need to adjust the CMake files to do the same. Remove the old stale configure.cmake files, create the top-level configure.cmake file, evaluate its features in src dir, and make sure to also create the forwarding headers in the global QtTools module as well. Change FindWrapLibClang to accept a version number, and modify configure.cmake to pass the minimum version to be "8". While libclang 6.x is enough to build Qt with qmake, for some reason CMake needs at least 8.x. Explicitly specifying the minimum version will prevent an old libclang library to be found in Coin, and thus breaking integrations during compilation. Once Coin is updated to include latest libclang, qdoc and lupdate will be built as usual. Change-Id: Iab8ec25d256358005850f25d6395d81e0068edfe Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Use Clang's CMake code for WrapLibClangCristian Adam2020-05-071-581/+34
| | | | | | | | This allows building qttools using the same libclang used by Qt Creator. Fixes: QTBUG-81214 Change-Id: I562fc9d787d38d35ef82150904fd0099e33b0460 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Fix lupdate build when llvm is foundAlexandru Croitor2020-01-071-2/+141
| | | | | | Change-Id: I54bbcba7ffd3cb2482957bde3520e758c4f71c15 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Qt CMake Build Bot
* Post merge fixesLeander Beernaert2019-12-101-0/+15
| | | | | | Change-Id: I8433ce831360d82263ea7b3ecb7ec13b6d8d0f0a Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Make use of the LLVM CMake Config packageCristian Adam2019-11-221-1/+8
| | | | | | | | | | | By default LLVM/Clang does static builds, and the CMake Config package that it exports should be used instead of the qmake port code that we have. The change does make use of both, it just points the qmake ported code to the LLVM installation. Change-Id: I1777fea428af9db66fa2e070db53354dc04b1135 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Windows: FindWrapLibClang: Fix linker commands for msvc linkMårten Nordheim2019-09-131-2/+2
| | | | | Change-Id: If2f4daa0187e44a2c5a56e9f3bbc910034f478da Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add build instructions for coinSimon Hausmann2019-09-061-4/+16
| | | | | | | | | | | | | | | | | | | The tests have not been ported yet and are omitted in this change. * Disable qdoc when requesting static libclang linkage with MSVC but the Qt build is not a release build. The object files cannot be mixed. * Fix the static libclang build on Linux by adding the missing pthreads linkage. * Fix duplicated resource names that break the build when linking statically. The name isn't referenced from anywhere and with cmake's object library support the Q_INIT_RESOURCE isn't necessary, so this local rename should be safe. Change-Id: Ic9bc126ef74700fe07ec5b1c9e408055f7141004 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Port qdoc to CMakeAlexandru Croitor2019-08-281-0/+408
Needed small conversion adjustments in the project, as well as porting of qtConfTest_libclang to CMake, which is encaspulated via FindWrapLibClang. Task-number: QTBUG-76002 Task-number: QTBUG-77831 Change-Id: I107f90a3292d97c68b7049bc69f571a0b7227da2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>