summaryrefslogtreecommitdiffstats
path: root/Source/cmQtAutomoc.h
Commit message (Collapse)AuthorAgeFilesLines
* Rename the cmQtAutomoc class to cmQtAutoGenerators.Stephen Kelly2013-10-241-96/+0
| | | | It will be extended to process .ui and .qrc files too.
* QtAutomoc: Use config-dependent compile definitions and includes.Stephen Kelly2013-06-121-2/+3
| | | | | | | Instead of always using the includes and defines which are not config-specific, ensure that the config specific ones can be used. Task-number: #13589
* Automoc: Don't create automoc targets if Qt is not used (#13999)Stephen Kelly2013-03-121-1/+1
| | | | | | | | | | | | | | Commit 79568f95 (automoc: Add source file to target early to set the linker language, 2013-02-20) changed automoc initialization to a two step process. In the first step, the generated source file was added to the target, which allows the link language to be determined. However, this bypassed the check for the availability of Qt itself. At build-time the automoc file could not be generated because the moc tool was not available to create it. The solution is to only add the automoc file to the target if Qt is found.
* automoc: Add source file to target early to set the linker languageStephen Kelly2013-02-221-0/+1
| | | | | | | | | | | | | | | | | Previously, GetIncludeDirectories was called before calling target->AddSourceFile(mocCppSource). Since commit a1c4905f (Use the link information as a source of compile definitions and includes., 2013-02-12), the include directories are determined by the link information. Valid link information requires that the linker language can be determined, which depends on the source files languages and the dependent targets languages. In the case of the no_link_languages target in the unit test, there are no dependencies and the additional source file no_link_languages_automoc.cpp is added to the target at generate-time. That file can be used to determine the linker language, but it must be added to the target before calling GetIncludeDirectories.
* automoc: use the header extensions from cmMakefileAlex Neundorf2013-02-101-1/+1
| | | | | | | Instead of having an own set of C header extensions, use cmMakefile::GetHeaderExtensions() (#13904) Alex
* automoc: use a std::vector<> instead a std::listAlex Neundorf2013-02-101-5/+5
| | | | Alex
* Automoc: do not use DEFINITIONS, but only COMPILE_DEFINITIONSAlex Neundorf2012-09-051-1/+0
| | | | | | | The docs say that this is for cmake 2.4 backwards compatibility only, so we probably don't need to support it. Alex
* fix #13494: rerun automoc also if include dirs or moc options changeAlex Neundorf2012-08-271-1/+4
| | | | | | | | Until now it was only rerun if the compile definitions changed, but of course it also has to rerun if the include dirs or moc options change. Strange that I didn't notice this before... Alex
* automoc: default to strict mode, use CMAKE_AUTOMOC_RELAXED_MODEAlex Neundorf2011-12-131-1/+1
| | | | | | | | | automoc now defaults to strict mode, also with Qt4, i.e. it behaves as the documentation says by default. I also inverted the switch CMAKE_AUTOMOC_STRICT_MODE to CMAKE_AUTOMOC_RELAXED_MODE. Docs and test adapted accordingly. Alex
* Merge branch 'master' into AutomocIncludedDotMocFileHandlingDavid Cole2011-12-071-1/+3
|\ | | | | | | | | Conflicts: Source/cmTarget.cxx
| * Merge topic 'automoc_qt5'David Cole2011-11-151-1/+1
| |\ | | | | | | | | | | | | | | | | | | bafe5cc Fix style. 74b9392 Update comments and method names to not be Qt4 specific. 812dab0 Don't assume the existence of QT_MAJOR_VERSION.
| | * Update comments and method names to not be Qt4 specific.Stephen Kelly2011-11-091-1/+1
| | |
| * | automoc: fix #12541, support moc optionsAlex Neundorf2011-11-011-0/+2
| |/ | | | | | | | | | | | | | | This commit adds a new target property AUTOMOC_MOC_OPTIONS, which can be set to add extra options for the moc invocations done via automoc. This is equivalent to the OPTIONS parameter in the qt4_wrap_cpp() macro. Alex
* | automoc: add variable CMAKE_AUTOMOC_STRICT_MODE, to enable strict parsingAlex Neundorf2011-12-021-0/+1
| | | | | | | | Alex
* | automoc: add a StrictParseCppFile(), which is only qmake-compatibleAlex Neundorf2011-12-021-0/+3
| | | | | | | | | | | | | | | | ParseCppFile() is the one which is automoc4/KDE4-compatible, and which becomes a bit crowded. By separating these two it is easier to ensure that the strict one doesn't get broken accidentially. Alex
* | automoc: move the code for finding headers into separate functionAlex Neundorf2011-12-021-2/+6
|/ | | | Alex
* Add copyright noticesAlex Neundorf2011-10-221-0/+13
| | | | Alex
* automoc:run moc on the header if the source file contains include "foo.moc"Alex Neundorf2011-10-221-0/+3
| | | | | | | | | | This fixes #12533. Before automoc did not check the header if the source file contained a statement, now it does. Additionally, moc is now only run on explicitely listed headers which contain a Q_OBJECT macro. Alex
* Refactor SetupAutomocTarget() so it can be run after creating the targetAlex Neundorf2011-08-151-5/+1
| | | | | | | This makes it easier to move it from InitialPass() to some other location, e.g. FinalPass() or something else. Alex
* Color output when running mocAlex Neundorf2011-08-141-0/+1
| | | | Alex
* Move code for parsing a cpp-file from the big loop to separate functionAlex Neundorf2011-08-141-0/+4
| | | | Alex
* Add the cmake module required currently for automocAlex Neundorf2011-08-141-0/+6
| | | | Alex
* Remove the need to check for .h/.cxx during buildtimeAlex Neundorf2011-08-141-0/+1
| | | | | | | Instead it now relies on cmake time to put that information correctly into AutomocInfo.cmake Alex
* Add actual automoc code from automocAlex Neundorf2011-08-141-0/+29
| | | | | | | | | It already works :-) Needs more refactoring, e.g. using the cmake facilities to turn a string into a vector etc. Also still missing is the part which creates the custom target. Alex
* Start implementing skeleton for automoc in cmakeAlex Neundorf2011-08-141-0/+18
| | | | Alex
* Start work on automoc: add empty cmQtAutomoc classAlex Neundorf2011-08-071-0/+11
Alex