[Cmake-commits] CMake branch, next, updated. v2.8.12.1-5221-g075e8f7
Stephen Kelly
steveire at gmail.com
Mon Nov 18 02:39:48 EST 2013
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 075e8f795bbd04daf587ccbcc986acbba430fb9e (commit)
via ae016fa8af7212bc84e33e5ea0b3c720da6e6f38 (commit)
from a41a80917f1103671a84fe348f3d3924b53299d1 (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=075e8f795bbd04daf587ccbcc986acbba430fb9e
commit 075e8f795bbd04daf587ccbcc986acbba430fb9e
Merge: a41a809 ae016fa
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Nov 18 02:39:45 2013 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Nov 18 02:39:45 2013 -0500
Merge topic 'autogen-depends' into next
ae016fa cmQtAutogen: Allow specifying depends for autogen targets.
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ae016fa8af7212bc84e33e5ea0b3c720da6e6f38
commit ae016fa8af7212bc84e33e5ea0b3c720da6e6f38
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Nov 18 08:09:56 2013 +0100
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Mon Nov 18 08:36:52 2013 +0100
cmQtAutogen: Allow specifying depends for autogen targets.
Test this by generating files with a custom target, which require
processing by automoc.
Lift the restriction of automoc on processing generated files. Instead,
mark the generated _automoc file as skipped for automoc purposes.
diff --git a/Source/cmQtAutoGenerators.cxx b/Source/cmQtAutoGenerators.cxx
index 36cb368..3a5056a 100644
--- a/Source/cmQtAutoGenerators.cxx
+++ b/Source/cmQtAutoGenerators.cxx
@@ -204,6 +204,11 @@ bool cmQtAutoGenerators::InitializeAutogenTarget(cmTarget* target)
"", makefile->GetCurrentOutputDirectory());
std::vector<std::string> depends;
+ if (const char *autogenDepends =
+ target->GetProperty("AUTOGEN_TARGET_DEPENDS"))
+ {
+ cmSystemTools::ExpandListArgument(autogenDepends, depends);
+ }
std::vector<std::string> toolNames;
if (target->GetPropertyAsBool("AUTOMOC"))
{
@@ -442,9 +447,8 @@ void cmQtAutoGenerators::SetupAutoMocTarget(cmTarget* target,
std::string absFile = cmsys::SystemTools::GetRealPath(
sf->GetFullPath().c_str());
bool skip = cmSystemTools::IsOn(sf->GetPropertyForUser("SKIP_AUTOMOC"));
- bool generated = cmSystemTools::IsOn(sf->GetPropertyForUser("GENERATED"));
- if (!generated)
+ if (absFile.find("_automoc.cpp") == std::string::npos)
{
if (skip)
{
@@ -1327,6 +1331,9 @@ bool cmQtAutoGenerators::RunAutogen(cmMakefile* makefile)
std::ios::out | std::ios::trunc);
outfile << automocSource;
outfile.close();
+ cmSourceFile* automocCppSource
+ = makefile->GetOrCreateSource(this->OutMocCppFilename.c_str(), true);
+ automocCppSource->SetProperty("SKIP_AUTOMOC", "1");
return true;
}
diff --git a/Tests/QtAutogen/CMakeLists.txt b/Tests/QtAutogen/CMakeLists.txt
index 7991c4e..54d24a0 100644
--- a/Tests/QtAutogen/CMakeLists.txt
+++ b/Tests/QtAutogen/CMakeLists.txt
@@ -43,10 +43,19 @@ add_library(codeeditorLib STATIC codeeditor.cpp)
add_library(privateSlot OBJECT private_slot.cpp)
+add_custom_target(generate_moc_input
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/generated.h.in" "${CMAKE_CURRENT_BINARY_DIR}"
+ COMMAND ${CMAKE_COMMAND} -E rename "${CMAKE_CURRENT_BINARY_DIR}/generated.h.in" "${CMAKE_CURRENT_BINARY_DIR}/generated.h"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/generated.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}"
+ COMMAND ${CMAKE_COMMAND} -E rename "${CMAKE_CURRENT_BINARY_DIR}/generated.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/generated.cpp"
+)
+set_source_files_properties("${CMAKE_CURRENT_BINARY_DIR}/generated.cpp" PROPERTIES GENERATED TRUE)
+
add_executable(QtAutogen main.cpp calwidget.cpp foo.cpp blub.cpp bar.cpp abc.cpp
xyz.cpp yaf.cpp gadget.cpp $<TARGET_OBJECTS:privateSlot>
- test.qrc resourcetester.cpp
+ test.qrc resourcetester.cpp "${CMAKE_CURRENT_BINARY_DIR}/generated.cpp"
)
+set_property(TARGET QtAutogen APPEND PROPERTY AUTOGEN_TARGET_DEPENDS generate_moc_input)
set_target_properties(QtAutogen codeeditorLib privateSlot PROPERTIES AUTOMOC TRUE)
-----------------------------------------------------------------------
Summary of changes:
Source/cmQtAutoGenerators.cxx | 11 +++++++++--
Tests/QtAutogen/CMakeLists.txt | 11 ++++++++++-
2 files changed, 19 insertions(+), 3 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list