summaryrefslogtreecommitdiffstats
path: root/src/corelib/Qt5CoreMacros.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Replace WIN32 with CMAKE_HOST_WIN32Mason McParlane2020-08-181-1/+1
| | | | | | | | | | | | The qt5_make_output_file routine joins paths together improperly on Windows when cross-compiling to a Unix target (Android). This change ensures the paths are set properly based on host machine instead of target. Fixes: QTBUG-86037 Pick-to: 5.15 Change-Id: I411b4f80296e989cd4fdf19799b731131defb2ca Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix dependency in qt_add_big_resourcesKai Koehne2020-07-081-1/+1
| | | | | | | | | | | | Ensure that the second rcc pass is executed whenever the object file changes. Patch provided by Hongpeng Liu <lhpzwd@163.com> Fixes: QTBUG-85186 Pick-to: 5.15 Change-Id: I6e52ec15048ab286efd85500ca535b2b8b01c270 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Warn about using internal macros and functionsKai Koehne2020-03-251-13/+27
| | | | | | | | | These functions and macros were never documented. Let's warn about using them for now, with the option of removing / renaming them in Qt 6. Change-Id: Ia595aa35b73e54534e535d2946581651af8023f2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-041-1/+8
|\ | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/widgets/widgets/imageviewer/imageviewer.cpp src/corelib/text/qchar.cpp src/corelib/time/qdatetime.cpp Change-Id: I9762f5c4ff650799219729d6aee79ac07ce9024a
| * Fix qt5_make_output_file macro for file base names with dotsJoerg Bornemann2020-01-301-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | The qt5_make_output_file macro returns the wrong outfile for infiles containing multiple dots in the file name, e.g. 'foo.bar.h'. To fix this we need to use get_filename_component(... NAME_WLE) which is available since CMake 3.14. Re-implement the NAME_WLE functionality for older CMake versions by using multiple get_filename_component calls. Fixes: QTBUG-80295 Change-Id: Ib8e11a69a41ba7f6739eb3d5541ce8f6f59dc18c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | CMake: Add Qt6 forward compatible CMake API and targetsAlexandru Croitor2020-01-251-1/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create Qt:: versionless targets for libraries and tools. So Qt::Core will link to Qt5::Core. Add additional feature properties to targets, with the same name they have in Qt6: QT_ENABLED_PUBLIC_FEATURES, QT_DISABLED_PUBLIC_FEATURES, QT_ENABLED_PRIVATE_FEATURES, QT_DISABLED_PRIVATE_FEATURES, to be forward-compatible with Qt6. Prefix properties with INTERFACE_ for interface libraries. Create functions with no major version in their prefix, so qt_foo instead of qt5_foo. The non-versioned functions will call the versioned functions, depending on the value of QT_DEFAULT_MAJOR_VERSION, which can be set by an application developer before finding the Qt package. Set QT_DEFAULT_MAJOR_VERSION to 5 if the value has not been defined in the current scope. Application developers can set QT_NO_CREATE_VERSIONLESS_FUNCTIONS to TRUE before calling find_package(Qt5) to suppress creation of the non-versioned functions. Application developers can set QT_NO_CREATE_VERSIONLESS_TARGETS to TRUE before calling find_package(Qt5) to suppress creation of the non-versioned targets. Setting these can be useful when both find_package(Qt5) and find_package(Qt6) are in the same project. If none of these are set by the user, then the first find_package(Qt5) will create versionless targets with the major version being "5", which means the second find_package(Qt6) will not create versionless targets. Handle versionless plugin names in qt_import_plugins, so both Qt::QCocoaIntegrationPlugin and Qt5/6::QCocoaIntegrationPlugin are recognized by the function. Allow specifying multiple types in EXCLUDE_BY_TYPE in qt_import_plugins, to be consitent with the Qt 6 version. Make sure to set the QT_PLUGIN_CLASS_NAME property to compatible with Qt 6. Task-number: QTBUG-74137 Task-number: QTBUG-80477 Change-Id: Ib89d090ea6f7794d7debd64f03f29da963a17ca7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | CMake: Use lower-case macro/function namesKai Koehne2019-12-031-13/+13
| | | | | | | | | | | | | | | | | | | | CMake is case-insensitive for macro and function names. Still, it is "strongly recommended to stay with the case chosen in the function definition." So let's make the function and macro definition lower-case, like we also recommend in the documentation. Change-Id: I1f64b18716f034cb696d2e19a2b380aaadd6cd07 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | CMake: Remove conditions for CMake < 3.1Kai Koehne2019-12-031-45/+40
|/ | | | | | | We don't support anything older than CMake 3.1 Change-Id: I5425a2fddfe5416a6a127a81da669fb37ac4d81c Reviewed-by: Liang Qi <liang.qi@qt.io>
* Qt5CoreMacros: properly check the CMake versionBen Boeckel2019-11-261-1/+1
| | | | | | | | | The POSITION_INDEPENDENT_CODE property was introduced in 2.8.12, so use it in versions newer than 2.8.12. Fixes: QTBUG-79671 Change-Id: If7f023e80964f2e47edc35eee617b51aeecbf032 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* CMake: Add support for auto-importing plugins in CMakeKyle Edwards2019-08-121-0/+32
| | | | | | | | | | | | | | | | | | | | | This commit adds transitive dependencies to the plugins, so that a sane set of default plugins get auto-imported when linking against a module. It also provides a new function, qt5_import_plugins(), which allows you to override the set of plugins that get imported. The decision of whether or not to import a specific plugin is based on several custom target properties and a very clever generator expression. Note that this change only imports plugins on static Qt builds. It does nothing on shared Qt builds, as the shared libraries already have their own plugin import mechanism. [ChangeLog][CMake] Added ability to auto-import non-qml plugins on CMake builds Task-number: QTBUG-38913 Task-number: QTBUG-76562 Change-Id: I2d6c8908b521cf6ba1ebbbc33a87cb7ddd9935cf Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-06-071-0/+5
|\ | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp src/plugins/platforms/cocoa/qcocoaintegration.h src/plugins/platforms/cocoa/qcocoaintegration.mm Done-With: Jörg Bornemann <joerg.bornemann@qt.io> Change-Id: I5a61e161784cc6f947abe370aab8f2971a9cbe78
| * cmake: correct version dependency for qt5_add_big_resourcesLiang Qi2019-05-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | qt5_add_big_resources is only available if using CMake 3.9 and later. This amends cdccd0222bbed1954d5d7fe0da9d2308c202f3b1. Task-number: QTBUG-55680 Task-number: QTBUG-75806 Change-Id: Ibba7af6ee7edfb226368937d543b7ec5cc93eb16 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-041-2/+2
|\ \ | |/ | | | | Change-Id: Ia7328524f2cd9d5995ac8705f0fe0bf570b2e831
| * Fix disabling AUTOMOC and AUTOUIC for generated resource cpp filesAlexandru Croitor2019-04-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when using qt5_add_big_resources. The previous approach of just setting SKIP_AUTOMOC and SKIP_AUTOUIC on the generated source files is not enough because if AUTOMOC is globally enabled, AUTOMOC will still run for the rcc_object_{outfilename} target, which ends up creating a mos_compilation.cpp.o file and adding it as a target object to the target. Thus later when $<TARGET_OBJECTS:rcc_object_${outfilename}> is passed to the rcc invocation, the expression evaluates to a list of two files: the rcc-related .o file and the mocs_compilation.o file. Obviously that breaks the rcc invocation. The fix is to disable AUTOMOC and AUTOUIC on the whole target, instead of just the source files. This prevents the creation of the mocs_compilation.cpp file. Fixes: QTBUG-74270 Change-Id: I51f757b110e940fe224010acb25b88c52ef612b1 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Fix can not -> cannotRobert Loehning2019-02-251-1/+1
|/ | | | | Change-Id: Ie9992f67ca59aff662a4be046ace08640e7c2714 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Fix re-running of cmake when a qrc file changesSimon Hausmann2018-10-191-1/+1
| | | | | | | | | | Commit 2af127763194c13c3f7ccce507c94eb2de6dbefe renamed out_depends to _out_depends inside qt5_add_resources but the old (empty) variable was used with add_custom_command. Change-Id: I8005674992b4538bd82375a4f1f70484bc0f0ae5 Reviewed-by: André Klitzing <aklitzing@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add support for big resources with CMakeAndy Shaw2018-08-161-0/+43
| | | | | | Task-number: QTBUG-55680 Change-Id: I09570a4e959ffd0e6d378bc315b13d57baaa82e8 Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* CMake: Restore qt5_use_modules() functionKevin Funk2018-06-151-0/+51
| | | | | | | | | | | | | | | It appears that in the 5 years since we deprecated this function, people have not stopped using it. The removal of qt5_use_modules() caused lots of troubles in packages still using it when they were compiled against Qt 5.11.0. Instead, let's revive this function and keep it for the Qt5 life time. See discussion on qt-development mailing list: http://lists.qt-project.org/pipermail/development/2018-June/032837.html Change-Id: Ic263e3bb6706268cb9ea38a0711665f166a3aa9e Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove CMake code for CMake < 3.1Kevin Funk2018-03-241-57/+0
| | | | | | | | | This removes the following functions from Qt5CoreMacros: - qt5_use_modules(...) Task-number: QTBUG-63519 Change-Id: I59769060a3a93686bf319b558c0ede55755fdb70 Reviewed-by: David Faure <david.faure@kdab.com>
* CMake: qt5_add_binary_resource: re-run if neededKevin Funk2018-01-091-1/+1
| | | | | | | | | | | qt5_add_binary_resources() macro did not recompile for CMake generated input before this patch. Adding the input files to the DEPENDS option corrects this issue: Task-number: QTBUG-60714 Change-Id: I0f46918c6f1079fed7ee1b21305b18ff38f863f8 Reviewed-by: David Faure <david.faure@kdab.com>
* CMake: Set SKIP_AUTOMOC/AUTOUIC where neededKevin Funk2017-11-221-2/+7
| | | | | | | | | | Make sure we don't run into warnings for CMake 3.10 Task-number: QTBUG-63442 Change-Id: Ida004705646f0c32fb4bf6006036d80b1f279fd7 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Sebastian Holtermann <sebholt@xwmw.org> Reviewed-by: Rolf Eike Beer <eb@emlix.com>
* Qt5CoreMacros: append the --compiler-flavor=msvc flagBen Boeckel2017-02-011-1/+1
| | | | | | | | Previously, the flags were replaced rather than appended to, losing -I flags and causing `#include` directives to fail. Change-Id: I74609e891ea327a8136c8075ab13176fc85ab111 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make moc obey the preprocessor environment variable for include pathsThiago Macieira2016-07-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | C preprocessors augment their standard list of include paths from the environment: Unix preprocessors use $C_INCLUDE_PATH (for C) and $CPLUS_INCLUDE_PATH (for C++), plus CPATH for both, whereas MSVC uses the an environment variable simply called "INCLUDE". Handling this for MSVC is particularly important because the VCVARSALL.BAT script sets the necessary #include paths in the environment for important things. Without that being parsed, moc won't find some #defines, like WINAPI_DESKTOP_FAMILY. [ChangeLog][moc] qmake and moc now cooperate to use the Visual Studio environment variables (set by the VCVARSALL.BAT script) to find system include files. A possible consequence is that moc parses application headers slightly differently, depending on #if conditions that depended on macros that previous versions had not seen #define'd. Implementers of other buildsystems are advised to pass the --compiler-flavor=msvc option to moc. Change-Id: I7e06274214d1939b0124e5b4bf169cceaef9ca46 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2016-01-121-1/+1
|\ | | | | | | Change-Id: I5839bded07e23af65ced9491c4f50242f964dd31
| * CMake: Fix qt5_use_modules macro for CMake 2.8.11Kevin Funk2016-01-111-1/+1
| | | | | | | | | | | | | | | | Note the excessive escaping around "GNU". Otherwise this leaks the -fPIE flag to the target. Change-Id: I340df5d5bce00ebec4e1ff3a557ade67022ba23b Reviewed-by: Stephen Kelly <ske@ableton.com>
* | Merge remote-tracking branch 'origin/5.6' into devFrederik Gladhorn2016-01-081-5/+6
|\ \ | |/ | | | | | | | | Based on merge done by Liang Qi Change-Id: Id566e5b9f284d29bff2199f13f9417c660f5b26f
| * Add DEPENDS option to qt5_wrap_cpp()Daniel Levin2015-12-211-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the moc rule does not support dependency scanning, so after successful moc file generation it will ignore implicit dependencies in the header file. Although this works in most typical scenarios, at least in one case incremental builds become broken: when using Q_PLUGIN_METADATA() with the FILE argument. If FILE refers to a JSON file and latter was updated, then the expected behavior is to regenerate the moc file. Since CMake add_custom_command() does not support late dependency setup, all dependencies should be explicitly listed in a DEPENDS section. This patch adds the DEPENDS multiarg option to qt5_wrap_cpp(), allowing to specify additional dependencies to the moc rule. Task-number: QTBUG-44009 Change-Id: I2052ce23d3cb0c87c6bd99fcb7e8a71a7be9a330 Reviewed-by: Kevin Funk <kevin.funk@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Daniel Levin <dendy.ua@gmail.com>
* | Qt5CoreMacros: Sync with CMake project counterpartKevin Funk2015-12-211-4/+4
|/ | | | | | | | | | | | | | | | | | | Port of CMake commits: commit 2622bc3f65162bf6d6cb5838da6999f8b5ca75cf Author: Rolf Eike Beer <eike@sf-mail.de> Date: Sun Apr 6 21:30:00 2014 +0200 Clean up usage of if(... MATCHES regex) followed string(REGEX REPLACE regex) commit 7beba98652212c7a44f291b51dd03681e5193c49 Author: Robert Maynard <robert.maynard@kitware.com> Date: Thu Apr 3 11:27:58 2014 -0400 Qt4Macros: Make QT4_CREATE_MOC_COMMAND a function Change-Id: I5b928d114adb393ed9370163609311b7486e4a36 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-06-011-2/+4
|\ | | | | | | | | | | | | | | Conflicts: qmake/generators/mac/pbuilder_pbx.cpp src/corelib/global/qglobal.h Change-Id: I2c0f7544bf194f2d0f59218fd583c822901487b0
| * Revert some changes in light of GCC 4 -fPIE reversalv5.4.2Stephen Kelly2015-05-291-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The -fPIE option is now accepted when using GCC 4, which means it is available for backward compatibility for clients using CMake 2.8.11 or older which makes use of the POSITION_INDEPENDENT_CODE feature. Conditionally use that feature for old versions of cmake with GCC 4. Restore the tests for those versions, and clarify the situation in the ChangeLog. Change-Id: I5a06b155dda7db559d86841a2b34fd8ed95acbd0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Only add -fPIC flags for compilers known to require it.Stephen Kelly2015-05-271-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 083c9269 (Try to ensure that -fPIC is used in CMake builds, 2015-05-11) added a raw -fPIC to the INTERFACE_COMPILE_OPTIONS of Qt5::Core, which affects all consuming compilers. Use the qmake variable $$QMAKE_CXXFLAGS_APP instead, which at least currently contains only the -fPIC variable or harmlessly expands to nothing. If the content of that qmake variable changes in the future, a $$QMAKE_CXXFLAGS_APP_PIC variable should be extracted in qmake and used here. Don't use the POSITION_INDEPENDENT_CODE feature of CMake. That adds the -fPIE flag for executables, which is explicitly what qglobal.h forbids since commit 3eca75de (Make qglobal.h complain if you use -fPIE, 2015-05-11). The current behavior of that CMake feature is tracked here: http://public.kitware.com/Bug/view.php?id=15570 Change-Id: I5c5bcc40fe4b310b55a681a3505f45c50adfa054 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | CMake: Fix regression with quoted OPTIONS parameterAndré Klitzing2015-03-111-1/+1
| | | | | | | | | | | | | | If a parameter contains quotes the check for "-binary" fails. Change-Id: I27148b590d85291a93f1992dfd277fb857bec6e2 Reviewed-by: Stephen Kelly <steveire@gmail.com>
* | Updated BSD licensed file headersJani Heikkinen2015-02-151-1/+1
| | | | | | | | | | Change-Id: I6441ff931dbd33b698d762e6f6784898f3f60fe7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | CMake: Introduce qt5_add_binary_resourcesA. Klitzing2015-02-111-26/+78
| | | | | | | | | | | | | | | | | | | | | | Optional parameter DESTINATION to set target rcc file Example: qt5_add_binary_resources(GenerateFixture "fixture.qrc") Task-number: QTBUG-41728 Change-Id: I9dc2fe8e7d5e9ad3873b89f75ab84a2a1b9d1d29 Reviewed-by: Stephen Kelly <steveire@gmail.com>
* | Update copyright headersJani Heikkinen2015-02-111-1/+1
|/ | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Fix typo in Qt5CoreMacros.cmakeAleix Pol2014-12-231-1/+1
| | | | | | | | | | According to the documentation, the argument is called COPYONLY instead of COPY_ONLY. Fixes warning and ensures it works properly. Change-Id: I643f5ea808aaaf94c3ee666ec39485e84ed38df1 Reviewed-by: Vishesh Handa <vhanda@kde.org> Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* CMake: Generate config-specific moc parameters file.Stephen Kelly2013-12-161-0/+1
| | | | | | | | | When using the visual studio generators, a moc parameters file for each configuration is generated. The content differs because the -DQT_NO_DEBUG may be added or not, depending on the configuration. Change-Id: I52eae536289d451df72df2e4dba709851279694a Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* CMake: Allow specifying a TARGET in invocations of macros.Stephen Kelly2013-08-211-29/+51
| | | | | | | | | | | | Forward-port of 9ce60ff509c4ff27fe861fc5b2080f50897a68c4 (Qt4Macros: Allow specifying a TARGET in invokations of macros., 2013-02-26) from cmake.git. This causes the INCLUDE_DIRECTORIES and COMPILE_DEFINITIONS to be used from the specified target when running moc. Change-Id: I868a35ade3c6b059e64d226291cf2046709d86d4 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Mark qt5_use_modules as obsolete.Stephen Kelly2013-07-311-0/+12
| | | | | | | | | | Forward-port of cb7f32f5b861fe115fa71f64500a5cbb0b643f1b (Mark qt4_use_modules and qt4_automoc as obsolete., 2013-07-04) from cmake.git. Change-Id: I0c24408ef06bc93eb0e55108cf4eab2f8cbd19cb Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Define QT_NO_DEBUG with RelWithDebInfo and MinSizeRel builds.Stephen Kelly2013-07-151-0/+2
| | | | | | | | Task-number: QTBUG-32403 Change-Id: I709ca32ca5bc1a342593357735ef3911ef849eb9 Reviewed-by: Clinton Stimpson <clinton@elemtech.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Make qt5_use_modules find dependents only in the parent directory.Stephen Kelly2013-04-111-1/+2
| | | | | | | | | Similar to 70420ec3 (Look for cmake package dependents only in the parent directory., 2013-04-02), make sure this cmake function only searches for sibling packages as dependencies. Change-Id: Icab23d333fa6a750ee262b592fae39f0ba334fee Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Don't calculate the install prefix again in the extra cmake files.Stephen Kelly2013-02-131-1/+1
| | | | | | | | The parent file has already set a variable for it. Change-Id: I90ddda355a580f44ea7e1e44cc7df717fa0a8b7b Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* CMake: Make qt5_use_modules a macro, not a function.Stephen Kelly2012-10-221-8/+8
| | | | | | | | | | | | | | | | | | Because qt5_use_modules is a function that does a find package which finds imported targets, things like this: qt5_use_modules(foo Sql) if (TARGET Qt5::Sql) message("Qt5Sql_FOUND: ${Qt5Sql_FOUND}") endif() will show Qt5Sql as being not found, even though the target is in scope. Fix that by making it a macro instead. Change-Id: If314bd5b4d3f769c6c7df5ff2c924eabd16dcc0e Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* CMake: Improve QT5_GET_MOC_FLAGS macroStephen Kelly2012-10-041-0/+4
| | | | | | | | | | | | We need to handle CMAKE_INCLUDE_CURRENT_DIR for include directories. Otherwise generated files located in the current binary directory are not found as expected. e.g. *.json file as meta data for Qt5's plugins generated at build time. Change-Id: I14ae1e7013f9d8b485aa990d50db4a03ca4f4b81 Reviewed-by: Yuchen Deng <loaden@gmail.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* CMake: Change suffix from "cxx" to "cpp" for generate sourcesYuchen Deng2012-09-271-2/+2
| | | | | | | | | Cause Qt5's source file use "cpp" as suffix and automoc use "cpp" as suffix too. Keep it with same feel better. Change-Id: Iba3f8ffb5c3dbf003a9e1aacf3706089c1b6765c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* cmake: define QT_NO_DEBUG in client release buildsPeter Kümmel2012-08-271-0/+1
| | | | | Change-Id: Ife224bf908c5e9bc1e62a830a3750de88a082eb7 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Add some error checking to the qt5_use_modules function.Stephen Kelly2012-08-271-0/+8
| | | | | | Change-Id: I8fa2f10edbee1080646324c0689b23eda44aa75d Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Require CMake 2.8.9 for the qt5_use_modules function.Stephen Kelly2012-08-101-14/+1
| | | | | | | | | | | The newer CMake version has the POSITION_INDEPENDENT_CODE property which is what we need here. The CMake 2.8.8 implementation uses awkward and incomplete string manipulation which I don't want to maintain for any amount of time when Qt 5.0 is released. Change-Id: If7ace9c6925ccdbf800f1863fa2368e55fa44d7f Reviewed-by: Brad King <brad.king@kitware.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Create IMPORTED CMake targets for executables.Stephen Kelly2012-07-251-3/+3
| | | | | | | | | | | Although IMPORTED executables are not extra special, this is more future-proof in terms of both future CMake features and future our needs - it is possible that we would want to add a property to an executable at TARGET scope, which would not be possible if it is just a path. Change-Id: I649c601e004b21603c5fa97de0b7c397813ed68d Reviewed-by: Brad King <brad.king@kitware.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Forward-port change to QT4_ADD_RESOURCES macro for missing rcc files.Stephen Kelly2012-06-231-16/+24
| | | | | | | | Forward-port of commit 9ce67d30011db4528d3d0bbee36412e13cfb80cc in cmake.git. Change-Id: I2d6c14f68f1630fc0835b3103e5058f52c2d0d13 Reviewed-by: David Faure <faure@kde.org>