[Cmake-commits] CMake branch, next, updated. v2.8.12-4576-g0f1db5f

Nils Gladitz nilsgladitz at gmail.com
Mon Oct 28 09:26:10 EDT 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  0f1db5f07dfa0bac940459581428f8bd011792bc (commit)
       via  f037b9b72644f150c136540b990774a3b32d39cf (commit)
      from  09cd12bc5ad9742a02c018bda50b900c5cfe86e1 (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=0f1db5f07dfa0bac940459581428f8bd011792bc
commit 0f1db5f07dfa0bac940459581428f8bd011792bc
Merge: 09cd12b f037b9b
Author:     Nils Gladitz <nilsgladitz at gmail.com>
AuthorDate: Mon Oct 28 09:26:08 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Oct 28 09:26:08 2013 -0400

    Merge topic 'fix-custom-source-with-flags-crash' into next
    
    f037b9b Generators: don't append sources from utility targets to objectSources


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f037b9b72644f150c136540b990774a3b32d39cf
commit f037b9b72644f150c136540b990774a3b32d39cf
Author:     Nils Gladitz <nilsgladitz at gmail.com>
AuthorDate: Sat Oct 26 23:38:38 2013 +0200
Commit:     Nils Gladitz <nilsgladitz at gmail.com>
CommitDate: Mon Oct 28 14:25:28 2013 +0100

    Generators: don't append sources from utility targets to objectSources

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 62ac263..511ae8a 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -114,7 +114,10 @@ std::vector<cmSourceFile*> const& cmGeneratorTarget::GetSourceFiles()
 void cmGeneratorTarget::ClassifySources()
 {
   cmsys::RegularExpression header(CM_HEADER_REGEX);
-  bool isObjLib = this->Target->GetType() == cmTarget::OBJECT_LIBRARY;
+
+  cmTarget::TargetType targetType = this->Target->GetType();
+  bool isObjLib = targetType == cmTarget::OBJECT_LIBRARY;
+
   std::vector<cmSourceFile*> badObjLib;
   std::vector<cmSourceFile*> const& sources = this->Target->GetSourceFiles();
   for(std::vector<cmSourceFile*>::const_iterator si = sources.begin();
@@ -126,6 +129,10 @@ void cmGeneratorTarget::ClassifySources()
       {
       this->CustomCommands.push_back(sf);
       }
+    else if(targetType == cmTarget::UTILITY)
+      {
+      this->ExtraSources.push_back(sf);
+      }
     else if(sf->GetPropertyAsBool("HEADER_FILE_ONLY"))
       {
       this->HeaderSources.push_back(sf);
diff --git a/Tests/CustomCommand/CMakeLists.txt b/Tests/CustomCommand/CMakeLists.txt
index 30daa7d..ff96add 100644
--- a/Tests/CustomCommand/CMakeLists.txt
+++ b/Tests/CustomCommand/CMakeLists.txt
@@ -449,3 +449,10 @@ set_property(SOURCE perconfig.out PROPERTY SYMBOLIC 1)
 add_custom_target(perconfig_target ALL
   COMMAND ${CMAKE_COMMAND} -E echo "perconfig=$<TARGET_FILE:perconfig>" "config=$<CONFIGURATION>"
   DEPENDS perconfig.out)
+
+# Test SOURCES in add_custom_target() with COMPILE_DEFINITIONS
+# which previously caused a crash in the makefile generators.
+add_custom_target(source_in_custom_target SOURCES source_in_custom_target.cpp)
+set_property(SOURCE source_in_custom_target
+  PROPERTY COMPILE_DEFINITIONS "TEST"
+)
diff --git a/Tests/CustomCommand/source_in_custom_target.cpp b/Tests/CustomCommand/source_in_custom_target.cpp
new file mode 100644
index 0000000..e69de29

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

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list