summaryrefslogtreecommitdiffstats
path: root/Tests/Qt4Targets
Commit message (Collapse)AuthorAgeFilesLines
* Qt4: Extend the Qt4Targets test to cover dir and target moc parameters.Stephen Kelly2014-05-062-25/+48
|
* Qt4: Fix moc command dependencies for incremental build.Stephen Kelly2014-03-214-0/+57
| | | | | | | | | | | | | Since commit v2.8.12~327^2 (Qt4Macros: Allow specifying a TARGET in invokations of macros., 2013-02-26), a parameters file is populated with moc arguments at generate-time. When the compile definitions or include directories change, the parameters file is updated but moc is not re-run in response. Fix that by making the moc invocation depend on the parameters file. Reported-At: https://bugreports.qt-project.org/browse/QTBUG-36970
* Qt4Macros: Allow specifying a TARGET in invokations of macros.Stephen Kelly2013-06-035-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That will allow things like this: find_package(Qt4) qt4_generate_moc(myfile.h moc_myfile.cpp TARGET foo) # Note, foo target doesn't # exist until below. add_library(foo ...) The qt4_generate_moc call would use the INCLUDE_DIRECTORIES from the foo target using generator expressions. Currently it reads the INCLUDE_DIRECTORIES directory property, meaning that include_directories() is required. Support for the TARGET is also added to qt4_wrap_cpp, but not qt4_automoc, as that is deprecated in favor of the AUTOMOC target property. The moc tool reports failure if the Q_INTERFACES macro is used with an argument which has not appeared with Q_DECLARE_INTERFACE, so that is the basis of the unit test. The command line arguments are now always written to a file, which is passed to moc as the @atfile. This was already the case on Windows, but now it is used everywhere. The reason for that is that it is not currently possible to expand the list of includes from a target directly in a add_custom_command invokation (though that may become possible in the future). There is not a big disadvantage to using the file anyway on unix, so having one code path instead of two is also a motivation.
* Add includes and compile definitions with target_link_libraries.Stephen Kelly2013-01-311-19/+0
| | | | | | | | This establishes that linking is used to propagate usage-requirements between targets in CMake code. The use of the target_link_libraries command as the API for this is chosen because introducing a new command would introduce confusion due to multiple commands which differ only in a subtle way.
* Automatically link to the qtmain library when linking to QtCore.Stephen Kelly2013-01-232-4/+59
| | | | | When using QAxServer, ensure that the qtmain library is excluded by reporting an error at CMake time if it is not.
* FindQt4: Add INTERFACE includes and defines to Qt4 targetsStephen Kelly2013-01-102-2/+17
|
* Qt4: Add module dependencies to the IMPORTED targetsStephen Kelly2013-01-072-0/+30
This means for example, that consumers can use: target_link_libraries(foo ${QT_QTGUI_LIBRARIES}) instead of also needing to specify all 'public' dependencies: target_link_libraries(foo ${QT_QTGUI_LIBRARIES} ${QT_QTCORE_LIBRARIES} ) when using the IMPORTED targets. Also populate the IMPORTED_LINK_DEPENDENT_LIBRARIES property so CMake can help the linker find shared library dependencies.