Commit Graph

17414 Commits

Author SHA1 Message Date
Alex Neundorf 62e223e8fa automoc: add variable CMAKE_AUTOMOC_STRICT_MODE, to enable strict parsing
Alex
2011-12-02 22:08:06 +01:00
Alex Neundorf 40c516783e automoc: accept even more .moc files in non-strict mode
Alex
2011-12-02 21:54:11 +01:00
Alex Neundorf c207f5d361 automoc: also accept other files when .moc is included in non-strict mode
Alex
2011-12-02 21:43:15 +01:00
Alex Neundorf 9c0df72dc4 automoc: add a StrictParseCppFile(), which is only qmake-compatible
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
2011-12-02 20:59:44 +01:00
Alex Neundorf 174bf35fbb automoc: move the code for finding headers into separate function
Alex
2011-12-02 20:38:14 +01:00
Alex Neundorf 8507eaed16 automoc: fix handling of included _p.moc files
Alex
2011-11-30 21:43:05 +01:00
Alex Neundorf 7ada172002 automoc: some more linebreaks for the warnings for better readability
Alex
2011-11-29 21:07:50 +01:00
Alex Neundorf 3b93e266c0 automoc: add extra check whether the header contains Q_PRIVATE_SLOT
This is again for KDE4 compatiblity. If foo.moc is included, in general
moc should run on foo.cpp. Usually this can't cause problems.
It can only cause problems if moc must run on the header, and the resulting
file must be included in the cpp file, which is the case with the
Q_PRIVATE_SLOT macro.
This makes the test added by Stephen pass.

Alex
2011-11-29 20:55:36 +01:00
Stephen Kelly 47457159c7 Add a test case for the use of Q_PRIVATE_SLOT. 2011-11-22 22:26:42 +01:00
Alex Neundorf bde4edb6ab automoc: add special handling for including basename_p.moc, with test
Alex
2011-11-22 22:01:13 +01:00
Alex Neundorf 74ab0f6aa4 automoc: move some code from the big parsing loop into separate functions
Alex
2011-11-22 21:35:08 +01:00
Alex Neundorf bc7560e6e5 automoc: add test for including a moc_abc_p.cpp file
Alex
2011-11-22 20:52:21 +01:00
Alex Neundorf 30fd8e603a automoc: add test for including the moc file from another header
including moc_xyz.cpp in abc.cpp should run moc on xyz.h (and
include the file in abc.cpp)

Alex
2011-11-22 20:52:13 +01:00
Alex Neundorf 80dfbc99f4 automoc: add a test for including both abc.moc and moc_abc.cpp
Alex
2011-11-22 20:51:59 +01:00
Alex Neundorf 72bb058e92 Automoc: modified handling of included .moc files
-enable the KDE4-compatiblity mode only when using Qt4
-always (except in the KDE4 compat mode) error out if a cpp-file
 contains "Q_OBJECT", but does not include filename.moc

Alex
2011-11-16 22:35:06 +01:00
Alex Neundorf e44ebd5f9b automoc: another runtime optimization
before doing the full regexp, try a simple strstr(), if this
already fails, no need to do the regexp matching.

Alex
2011-11-10 22:54:44 +01:00
Alex Neundorf 1423177828 automoc: minor optimization
Handing th std::string instead the char* to the find()
reduces the time from 17 to 15 seconds (for a 1000 times loop of a
relatively small file), which is around 10 percent.

Alex
2011-11-10 22:41:48 +01:00
Alex Neundorf f98e6151dc automoc: improved diagnostics
Error/warning messages now look like:
AUTOMOC: (error|warning): <filename>: the actual text...

Alex
2011-11-10 22:12:03 +01:00
Alex Neundorf 69cf480cd6 automoc: add more test cases
Alex
2011-11-10 22:12:03 +01:00
Alex Neundorf 81c43b4fb6 automoc: handle the case when the developer includes the wrong mocfile
There are multiple/many places in KDE where the developer includes
moc_foo.cpp, and expects moc to run on foo.cpp, instead of foo.h.
He should use foo.moc, but right now this is handled by automoc4,
so we must stay compatible. So support this too, but warn about
it.

Alex
2011-11-10 22:12:03 +01:00
Alex Neundorf 7242822897 automoc: rework the checking for the matching header, to give better warnings
Alex
2011-11-10 22:12:03 +01:00
Alex Neundorf d08bc32bc2 automoc: stricter checking for what file is included
foo.cpp must include foo.moc to have itself processed by moc

Alex
2011-11-10 22:11:32 +01:00
KWSys Robot fce8e81895 KWSys Nightly Date Stamp 2011-11-06 00:10:30 -04:00
KWSys Robot 0727f38f71 KWSys Nightly Date Stamp 2011-11-05 00:08:47 -04:00
KWSys Robot ae09bab3d6 KWSys Nightly Date Stamp 2011-11-04 00:10:22 -04:00
KWSys Robot 22bf096474 KWSys Nightly Date Stamp 2011-11-03 00:10:09 -04:00
KWSys Robot d4afce1ddd KWSys Nightly Date Stamp 2011-11-02 00:09:52 -04:00
David Cole a39c195bc5 Merge topic 'qt4-deploy-module'
467ee36 Check plugin variables are defined before warning.
4571ea6 Don't resolve directories; are never relative.
9cfc920 Match fixup_qt4_executable with documentation.
2011-11-01 14:26:43 -04:00
David Cole 55659c4ea9 Merge topic 'FixCMAKE_BUILD_TOOL_doc'
83b13a2 Fix old reference to CMAKE_MAKE_PROGRAM inside CMAKE_BUILD_TOOL doc.
2011-11-01 14:26:38 -04:00
David Cole 09dfcfb6cb Merge topic 'CPackRPM-perComponentHeader'
e20c59a CPackRPM support component specific variables for spec files
2011-11-01 14:26:31 -04:00
David Cole 5531e5e162 Merge topic 'doc-link_directories-misconception'
30e4a52 Tell people that link_directories() is not what they are searching for
2011-11-01 14:26:27 -04:00
David Cole c2300e6265 Merge topic 'fix-12539-ctestconfig-from-build-dir'
76ecdd8 CTest: Look for CTestConfig.cmake in build dir first, then source dir
2011-11-01 14:26:21 -04:00
David Cole e0d97b6728 Merge topic 'fix-12383-clear-ctest-vecs'
499c104 CTest: Clear custom vectors before populating (#12383)
2011-11-01 14:26:16 -04:00
David Cole 55eda4a060 Merge topic 'FindLibXsltImprovements'
fe6d9c1 FindLibXslt: also search libexslt and xsltproc
2011-11-01 14:26:10 -04:00
David Cole 9d87a9251e Merge topic 'ctest-memcheck-log-newline-issue-12538'
26b6794 Source/cmCTest.cxx: Add missing newline (#12538)
2011-11-01 14:25:54 -04:00
Mike McQuaid 467ee36840 Check plugin variables are defined before warning. 2011-11-01 13:54:35 -04:00
Mike McQuaid 4571ea6e4d Don't resolve directories; are never relative. 2011-11-01 13:54:34 -04:00
Mike McQuaid 9cfc920973 Match fixup_qt4_executable with documentation. 2011-11-01 13:54:34 -04:00
Brad King 13d19468d0 KWSys: Address Intel compiler remarks
CommandLineArguments.cxx:
 remark #181: argument is incompatible with corresponding format
  string conversion

SystemInformation.cxx:
 remark #193: zero used for undefined preprocessing identifier "_WIN32"
 warning #177: variable "Regebx" was declared but never referenced

SystemTools.cxx(375):
 remark #444: destructor for base class "std::vector<char*>" is not virtual
  class kwsysDeletingCharVector : private kwsys_stl::vector<char*>

Author: Hans Johnson <hans-johnson@uiowa.edu>
Change-Id: Ibc899c3ba14990158ef7bbabace4b435b22495c3
2011-11-01 10:49:25 -04:00
KWSys Robot 5e1c2f81a7 KWSys Nightly Date Stamp 2011-11-01 00:10:07 -04:00
KWSys Robot 07e88ae449 KWSys Nightly Date Stamp 2011-10-31 00:09:47 -04:00
Eric NOULARD 83b13a250c Fix old reference to CMAKE_MAKE_PROGRAM inside CMAKE_BUILD_TOOL doc. 2011-10-30 22:34:18 +01:00
Eric NOULARD e20c59ae50 CPackRPM support component specific variables for spec files
This is a modified version of a user patch
Inspired-By: informant
2011-10-30 20:13:20 +01:00
KWSys Robot b1e9e55c6c KWSys Nightly Date Stamp 2011-10-30 00:10:04 -04:00
KWSys Robot ba5c6493d9 KWSys Nightly Date Stamp 2011-10-29 00:09:52 -04:00
KWSys Robot 6a6f21412d KWSys Nightly Date Stamp 2011-10-28 00:09:53 -04:00
Rolf Eike Beer 30e4a5204f Tell people that link_directories() is not what they are searching for
Judging from the questions I see on the #cmake IRC channel this is one
of the most common pitfalls for people coming from other build systems,
especially plain Makefiles.  Finally put this into the documentation to
stop people getting fooled into using this.

Text by Brad King.
2011-10-27 09:23:05 -04:00
KWSys Robot 9a6257a40b KWSys Nightly Date Stamp 2011-10-27 00:09:59 -04:00
Jean-Christophe Fillion-Robin 76ecdd8d16 CTest: Look for CTestConfig.cmake in build dir first, then source dir
Provide the ability to configure CTest with settings different from the ones
available in the source tree by checking first if CTestConfig.cmake
exists in the build tree.

The motivation is to allow build system checking out external project to
test and/or package them and submit the associated results to a different
dashboard than the one specified (or not) in the source of the external
project.

For example, the build system of Slicer can checkout, build, test
and package what I will  call "extensions". These extensions can be developed
by third parties who can test and submit to their own dashboard / project.
When checked out by Slicer build system, the default dashboard can now be
overwritten by adding a custom CTestConfig.cmake to the build directory.
And if not overwritten, it would avoid to create CTestConfig.cmake within
the source checkout of the extension.
2011-10-26 23:23:03 -04:00
David Cole 499c104572 CTest: Clear custom vectors before populating (#12383)
Important when calling ctest commands in a loop from a script.
Each time Populate gets called, it uses the current definition
of the variable. Without the clear, it was accumulating additional
identical values each time through the loop.
2011-10-26 00:19:46 -04:00