Commit Graph

75 Commits

Author SHA1 Message Date
Alex Neundorf 52719a1d66 automoc: fix #12541, support moc options
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
2011-11-01 14:33:11 +01:00
Alex Neundorf 1ecc55aa7b Automoc: fix the fix, need to use std::string, not just char* pointer
We need to take a copy of the property values, since the returned
char* pointer is reused by the following GetProperty() calls

Alex
2011-11-01 13:59:14 +01:00
Alex Neundorf 8c8305f286 don't crash in automoc with empty COMPILE_DEFINITIONS property
Reported by Laszlo Papp:
http://www.cmake.org/pipermail/cmake/2011-October/047089.html

Alex
2011-10-31 22:07:12 +01:00
Alex Neundorf 5e8e9ad68c automoc: always run moc on the cpp file if there is a foo.moc included
This makes automoc behaves as the documentation says.
If there is a #include "foo.moc" in the source file, moc
will be executed on foo.cpp.
Before it was also executed on foo.cpp, but only if foo.cpp
contained a Q_OBJECT macro, otherwise moc was executed on
foo.h. This was confusing, and this change also shouldn't break
anything, since the headers are moc'ed anyway if they contain
a Q_OBJECT macro.

Alex
2011-10-22 21:16:39 +02:00
Alex Neundorf ea8ac9f5dc Add copyright notices
Alex
2011-10-22 19:43:34 +02:00
Alex Neundorf 56aa6ffae7 automoc:run moc on the header if the source file contains include "foo.moc"
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
2011-10-22 19:38:39 +02:00
Stephen Kelly 7bf2c1aa3e Create moc files in the current binary dir, not the top level. 2011-08-25 21:39:51 +02:00
David Cole 920a046015 QtAutomoc: Eliminate compiler warning 2011-08-19 14:18:11 -04:00
Alex Neundorf 71165e943e Silence warning in automoc: use long instead of int
Alex
2011-08-18 19:34:49 +02:00
Alex Neundorf 1879bcc09c Fix build: use std::ios::out|ios::trunc instead of std::ios_base::out
Alex
2011-08-18 18:53:14 +02:00
Alex Neundorf afb3edc181 Fix warnings
Alex
2011-08-17 00:49:12 +02:00
Alex Neundorf add30e9008 Fix build: non-void function must return a value
Alex
2011-08-17 00:39:21 +02:00
Alex Neundorf d045fd4ec5 Nicer progress message for the automoc target
Alex
2011-08-16 02:00:36 +02:00
Alex Neundorf c27607baf8 Refactor SetupAutomocTarget() so it can be run after creating the target
This makes it easier to move it from InitialPass() to some other
location, e.g. FinalPass() or something else.

Alex
2011-08-16 01:27:30 +02:00
Alex Neundorf 58b7fe6545 Use cout instead of printf()
Alex
2011-08-14 17:17:01 +02:00
Alex Neundorf 72caf4d178 Add the generated automoc.cpp file to the cleaned files
Alex
2011-08-14 17:06:34 +02:00
Alex Neundorf ddb517d014 Color output when running moc
Alex
2011-08-14 16:43:04 +02:00
Alex Neundorf 93032953af Initialize verbose based onb the env.var.
Alex
2011-08-14 15:58:09 +02:00
Alex Neundorf ace121534d Move code for parsing a cpp-file from the big loop to separate function
Alex
2011-08-14 15:58:09 +02:00
Alex Neundorf 735a5bb321 Fix line lengths
Alex
2011-08-14 15:58:09 +02:00
Alex Neundorf 126c6ead77 Add the cmake module required currently for automoc
Alex
2011-08-14 15:58:00 +02:00
Alex Neundorf de91feb367 Remove the need to check for .h/.cxx during buildtime
Instead it now relies on cmake time to put that information
correctly into AutomocInfo.cmake

Alex
2011-08-14 15:53:50 +02:00
Alex Neundorf d65689a3bd Add actual automoc code from automoc
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
2011-08-14 15:53:38 +02:00
Alex Neundorf d1c0a5fce6 Start implementing skeleton for automoc in cmake
Alex
2011-08-14 15:45:13 +02:00
Alex Neundorf a65011baf1 Start work on automoc: add empty cmQtAutomoc class
Alex
2011-08-07 12:02:46 +02:00