[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1805-g708c6ab

Brad King brad.king at kitware.com
Thu Apr 3 13:07:07 EDT 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  708c6aba363cb3ef6140b20d6d338660579ca1b8 (commit)
       via  7beba98652212c7a44f291b51dd03681e5193c49 (commit)
      from  589a4348c8e61ff5e04b0a014b4dc7bf2a22b3ae (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=708c6aba363cb3ef6140b20d6d338660579ca1b8
commit 708c6aba363cb3ef6140b20d6d338660579ca1b8
Merge: 589a434 7beba98
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Apr 3 13:07:06 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Apr 3 13:07:06 2014 -0400

    Merge topic 'Qt4Macros-moc-performance' into next
    
    7beba986 Qt4Macros: Make QT4_CREATE_MOC_COMMAND a function


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7beba98652212c7a44f291b51dd03681e5193c49
commit 7beba98652212c7a44f291b51dd03681e5193c49
Author:     Robert Maynard <robert.maynard at kitware.com>
AuthorDate: Thu Apr 3 11:27:58 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Apr 3 12:58:58 2014 -0400

    Qt4Macros: Make QT4_CREATE_MOC_COMMAND a function
    
    QT4_CREATE_MOC_COMMAND is given a moc_flags argument that contains the
    COMPILE_DEFINITIONS and a potentially large list of include directories.
    Since it is a macro, the ${moc_flags} reference is replaced with this
    content and sent through cmMakefile::ExpandVariablesInString (EVIS).
    Since commit v3.0.0-rc1~138^2 (Qt4: Use generator expression in
    COMPILE_DEFINITIONS, 2014-01-13) the COMPILE_DEFINITIONS value contains
    a '$' so the EVIS fast-path is no longer used.  Instead the full
    cmCommandArgumentParserHelper is now used on the large input, which is
    very slow (since it was originally created for hand-written code).
    
    Change QT4_CREATE_MOC_COMMAND to a function instead of a macro to avoid
    passing large content through EVIS.  This makes it significantly faster.

diff --git a/Modules/Qt4Macros.cmake b/Modules/Qt4Macros.cmake
index 8baf896..5ada030 100644
--- a/Modules/Qt4Macros.cmake
+++ b/Modules/Qt4Macros.cmake
@@ -103,7 +103,7 @@ endmacro()
 
 
 # helper macro to set up a moc rule
-macro (QT4_CREATE_MOC_COMMAND infile outfile moc_flags moc_options moc_target)
+function (QT4_CREATE_MOC_COMMAND infile outfile moc_flags moc_options moc_target)
   # For Windows, create a parameters file to work around command line length limit
   # Pass the parameters in a file.  Set the working directory to
   # be that containing the parameters file and reference it by
@@ -144,7 +144,7 @@ macro (QT4_CREATE_MOC_COMMAND infile outfile moc_flags moc_options moc_target)
                       DEPENDS ${infile}
                       ${_moc_working_dir}
                       VERBATIM)
-endmacro ()
+endfunction ()
 
 
 macro (QT4_GENERATE_MOC infile outfile )

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list