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  92bd826c214da93726e7a3186009a2993a7ef327 (commit)
       via  b98d14d40016efee420bee26b9795880fdf6a5f8 (commit)
       via  48a4cf21825c9ed5f53ac25d5f4577baaf92d1f7 (commit)
       via  3ded614e31e9dcc4afa3ee9885dadf830a05dd21 (commit)
      from  f37b5c05380ba73c064885b30311be5f64e4a638 (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=92bd826c214da93726e7a3186009a2993a7ef327
commit 92bd826c214da93726e7a3186009a2993a7ef327
Merge: f37b5c0 b98d14d
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Mon Jan 21 06:39:52 2013 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Mon Jan 21 06:39:52 2013 -0500

    Merge topic 'disallow-IMPORTED-interface-porcelain' into next
    
    b98d14d Disallow porcelain to populate includes and defines of IMPORTED 
targets.
    48a4cf2 Revert "Allow target_link_libraries with IMPORTED targets."
    3ded614 CMake Nightly Date Stamp

diff --cc Tests/CMakeCommands/target_include_directories/CMakeLists.txt
index 8fa2eae,486bca0..e190161
--- a/Tests/CMakeCommands/target_include_directories/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_include_directories/CMakeLists.txt
@@@ -33,19 -30,9 +30,14 @@@ target_include_directories(target_inclu
    PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/poison"
  )
  target_include_directories(target_include_directories
 -  BEFORE PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/cure"
 +  BEFORE PUBLIC 
"$<$<TARGET_DEFINED:target_include_directories>:${CMAKE_CURRENT_BINARY_DIR}/cure>"
 +)
 +
 +# Has no effect because the target is not defined:
 +target_include_directories(target_include_directories
 +  BEFORE PUBLIC 
"$<$<TARGET_DEFINED:notdefined>:${CMAKE_CURRENT_BINARY_DIR}/poison>"
  )
  
- add_library(importedlib UNKNOWN IMPORTED)
- target_include_directories(importedlib
-   INTERFACE "${CMAKE_CURRENT_BINARY_DIR}/importedinterfaceinclude"
- )
- 
  add_executable(consumer
    "${CMAKE_CURRENT_SOURCE_DIR}/consumer.cpp"
  )

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b98d14d40016efee420bee26b9795880fdf6a5f8
commit b98d14d40016efee420bee26b9795880fdf6a5f8
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Mon Jan 21 12:28:27 2013 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Mon Jan 21 12:32:46 2013 +0100

    Disallow porcelain to populate includes and defines of IMPORTED targets.
    
    With similar reasoning to the parent commit, as downstreams, we can't
    determine what $<CONFIG> generator expressions would be appropriate.
    
    Upstream would have populated the INTERFACE_INCLUDE_DIRECTORIES with
    config-specific generator expressions, possibly appropriate for
    their DEBUG_CONFIGURATIONS. In theory, if we would add include
    directories for a DEBUG intent, we would have to match the upstream
    configurations for that.
    
    Rather than attempting to discover the appropriate configurations
    at this time, simplify the feature instead. The use of IMPORTED targets
    with these commands could still be added in the future if targets
    would export their DEBUG_CONFIGURATIONS somehow.

diff --git a/Source/cmTargetCompileDefinitionsCommand.cxx 
b/Source/cmTargetCompileDefinitionsCommand.cxx
index 492a1b7..683eff6 100644
--- a/Source/cmTargetCompileDefinitionsCommand.cxx
+++ b/Source/cmTargetCompileDefinitionsCommand.cxx
@@ -20,13 +20,11 @@ bool cmTargetCompileDefinitionsCommand
 }
 
 void cmTargetCompileDefinitionsCommand
-::HandleImportedTargetInvalidScope(const std::string &scope,
-                                   const std::string &tgt)
+::HandleImportedTarget(const std::string &tgt)
 {
   cmOStringStream e;
-  e << "Cannot specify " << scope << " compile definitions for imported "
-       "target \"" << tgt << "\".  Compile definitions can only be "
-       "specified for an imported target in the INTERFACE mode.";
+  e << "Cannot specify compile definitions for imported target \""
+    << tgt << "\".";
   this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
 }
 
diff --git a/Source/cmTargetCompileDefinitionsCommand.h 
b/Source/cmTargetCompileDefinitionsCommand.h
index 4b066b7..d49b9e8 100644
--- a/Source/cmTargetCompileDefinitionsCommand.h
+++ b/Source/cmTargetCompileDefinitionsCommand.h
@@ -59,7 +59,7 @@ public:
       "Specify compile definitions or targets to use when compiling a given "
       "target.  "
       "The named <target> must have been created by a command such as "
-      "add_executable or add_library.  "
+      "add_executable or add_library and must not be an IMPORTED target.  "
       "The INTERFACE, PUBLIC and PRIVATE keywords are required to specify "
       "the scope of the following arguments.  PRIVATE and PUBLIC items will "
       "populate the COMPILE_DEFINITIONS property of <target>.  PUBLIC and "
@@ -78,8 +78,7 @@ public:
   cmTypeMacro(cmTargetCompileDefinitionsCommand, cmCommand);
 
 private:
-  virtual void HandleImportedTargetInvalidScope(const std::string &scope,
-                                   const std::string &tgt);
+  virtual void HandleImportedTarget(const std::string &tgt);
   virtual void HandleMissingTarget(const std::string &name);
 
   virtual bool HandleNonTargetArg(std::string &content,
diff --git a/Source/cmTargetIncludeDirectoriesCommand.cxx 
b/Source/cmTargetIncludeDirectoriesCommand.cxx
index 18e2cba..aeba468 100644
--- a/Source/cmTargetIncludeDirectoriesCommand.cxx
+++ b/Source/cmTargetIncludeDirectoriesCommand.cxx
@@ -22,13 +22,11 @@ bool cmTargetIncludeDirectoriesCommand
 
 //----------------------------------------------------------------------------
 void cmTargetIncludeDirectoriesCommand
-::HandleImportedTargetInvalidScope(const std::string &tgt,
-                                   const std::string &scope)
+::HandleImportedTarget(const std::string &tgt)
 {
   cmOStringStream e;
-  e << "Cannot specify " << scope << " include directories for imported "
-       "target \"" << tgt << "\".  Include directories can only be "
-       "specified for an imported target in the INTERFACE mode.";
+  e << "Cannot specify include directories for imported target \""
+    << tgt << "\".";
   this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
 }
 
diff --git a/Source/cmTargetIncludeDirectoriesCommand.h 
b/Source/cmTargetIncludeDirectoriesCommand.h
index 90e039c..5a5f859 100644
--- a/Source/cmTargetIncludeDirectoriesCommand.h
+++ b/Source/cmTargetIncludeDirectoriesCommand.h
@@ -60,7 +60,7 @@ public:
       "Specify include directories or targets to use when compiling a given "
       "target.  "
       "The named <target> must have been created by a command such as "
-      "add_executable or add_library.\n"
+      "add_executable or add_library and must not be an IMPORTED target.\n"
       "If BEFORE is specified, the content will be prepended to the property "
       "instead of being appended.\n"
       "The INTERFACE, PUBLIC and PRIVATE keywords are required to specify "
@@ -82,8 +82,7 @@ public:
   cmTypeMacro(cmTargetIncludeDirectoriesCommand, cmCommand);
 
 private:
-  virtual void HandleImportedTargetInvalidScope(const std::string &tgt,
-                                   const std::string &scope);
+  virtual void HandleImportedTarget(const std::string &tgt);
   virtual void HandleMissingTarget(const std::string &name);
 
   virtual bool HandleNonTargetArg(std::string &content,
diff --git a/Source/cmTargetPropCommandBase.cxx 
b/Source/cmTargetPropCommandBase.cxx
index 69aaf17..c79c16f 100644
--- a/Source/cmTargetPropCommandBase.cxx
+++ b/Source/cmTargetPropCommandBase.cxx
@@ -80,9 +80,9 @@ bool cmTargetPropCommandBase
     return false;
     }
 
-  if(this->Target->IsImported() && scope != "INTERFACE")
+  if(this->Target->IsImported())
     {
-    this->HandleImportedTargetInvalidScope(args[0], scope);
+    this->HandleImportedTarget(args[0]);
     return false;
     }
 
diff --git a/Source/cmTargetPropCommandBase.h b/Source/cmTargetPropCommandBase.h
index e757f9d..15a78c9 100644
--- a/Source/cmTargetPropCommandBase.h
+++ b/Source/cmTargetPropCommandBase.h
@@ -32,8 +32,7 @@ public:
                            const char *prop, ArgumentFlags flags = NO_FLAGS);
 
 private:
-  virtual void HandleImportedTargetInvalidScope(const std::string &tgt,
-                                   const std::string &scope) = 0;
+  virtual void HandleImportedTarget(const std::string &tgt) = 0;
   virtual void HandleMissingTarget(const std::string &name) = 0;
 
   virtual bool HandleNonTargetArg(std::string &content,
diff --git a/Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt 
b/Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt
index a37c597..3eca7fc 100644
--- a/Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt
@@ -12,11 +12,6 @@ target_compile_definitions(target_compile_definitions
   INTERFACE MY_INTERFACE_DEFINE
 )
 
-add_library(importedlib UNKNOWN IMPORTED)
-target_compile_definitions(importedlib
-  INTERFACE MY_IMPORTEDINTERFACE_DEFINE
-)
-
 add_executable(consumer
   "${CMAKE_CURRENT_SOURCE_DIR}/consumer.cpp"
 )
@@ -24,5 +19,5 @@ add_executable(consumer
 target_compile_definitions(consumer
   PRIVATE target_compile_definitions importedlib
   $<$<TARGET_DEFINED:notdefined>:SHOULD_NOT_BE_DEFINED>
-  $<$<TARGET_DEFINED:importedlib>:SHOULD_BE_DEFINED>
+  $<$<TARGET_DEFINED:target_compile_definitions>:SHOULD_BE_DEFINED>
 )
diff --git a/Tests/CMakeCommands/target_compile_definitions/consumer.cpp 
b/Tests/CMakeCommands/target_compile_definitions/consumer.cpp
index 1ef657d..f835b6c 100644
--- a/Tests/CMakeCommands/target_compile_definitions/consumer.cpp
+++ b/Tests/CMakeCommands/target_compile_definitions/consumer.cpp
@@ -11,10 +11,6 @@
 #error Expected MY_INTERFACE_DEFINE
 #endif
 
-#ifndef MY_IMPORTEDINTERFACE_DEFINE
-#error Expected MY_IMPORTEDINTERFACE_DEFINE
-#endif
-
 #ifdef SHOULD_NOT_BE_DEFINED
 #error Unexpected SHOULD_NOT_BE_DEFINED
 #endif
diff --git a/Tests/CMakeCommands/target_include_directories/CMakeLists.txt 
b/Tests/CMakeCommands/target_include_directories/CMakeLists.txt
index a0f2ee0..486bca0 100644
--- a/Tests/CMakeCommands/target_include_directories/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_include_directories/CMakeLists.txt
@@ -11,9 +11,6 @@ file(WRITE 
"${CMAKE_CURRENT_BINARY_DIR}/publicinclude/publicinclude.h" "#define
 file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/interfaceinclude")
 file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/interfaceinclude/interfaceinclude.h" 
"#define INTERFACEINCLUDE_DEFINE\n")
 
-file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/importedinterfaceinclude")
-file(WRITE 
"${CMAKE_CURRENT_BINARY_DIR}/importedinterfaceinclude/importedinterfaceinclude.h"
 "#define IMPORTEDINTERFACEINCLUDE_DEFINE\n")
-
 file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/poison")
 file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/poison/common.h" "#error Should not be 
included\n")
 
@@ -36,15 +33,10 @@ target_include_directories(target_include_directories
   BEFORE PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/cure"
 )
 
-add_library(importedlib UNKNOWN IMPORTED)
-target_include_directories(importedlib
-  INTERFACE "${CMAKE_CURRENT_BINARY_DIR}/importedinterfaceinclude"
-)
-
 add_executable(consumer
   "${CMAKE_CURRENT_SOURCE_DIR}/consumer.cpp"
 )
 
 target_include_directories(consumer
-  PRIVATE target_include_directories importedlib
+  PRIVATE target_include_directories
 )
diff --git a/Tests/CMakeCommands/target_include_directories/consumer.cpp 
b/Tests/CMakeCommands/target_include_directories/consumer.cpp
index 6fd61d5..5d88488 100644
--- a/Tests/CMakeCommands/target_include_directories/consumer.cpp
+++ b/Tests/CMakeCommands/target_include_directories/consumer.cpp
@@ -2,7 +2,6 @@
 #include "common.h"
 #include "publicinclude.h"
 #include "interfaceinclude.h"
-#include "importedinterfaceinclude.h"
 
 #ifdef PRIVATEINCLUDE_DEFINE
 #error Unexpected PRIVATEINCLUDE_DEFINE
@@ -16,10 +15,6 @@
 #error Expected INTERFACEINCLUDE_DEFINE
 #endif
 
-#ifndef IMPORTEDINTERFACEINCLUDE_DEFINE
-#error Expected IMPORTEDINTERFACEINCLUDE_DEFINE
-#endif
-
 #ifndef CURE_DEFINE
 #error Expected CURE_DEFINE
 #endif

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=48a4cf21825c9ed5f53ac25d5f4577baaf92d1f7
commit 48a4cf21825c9ed5f53ac25d5f4577baaf92d1f7
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Mon Jan 21 12:05:01 2013 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Mon Jan 21 12:19:39 2013 +0100

    Revert "Allow target_link_libraries with IMPORTED targets."
    
    This reverts commit 9cfe4f1b769597bd9ba179eba46572a9df27f64c.
    
    It turns out that correctly adding the content to
    the IMPORTED_LINK_INTERFACE_LIBARIES_<CONFIG> of an upstream target
    from the buildsystem of a downstream project is not simple.
    
    If upstream had added the INTERFACE content, the config-specific
    properties would  be determined by the DEBUG_CONFIGURATIONS of
    upstream.
    
    As downstream, we don't have any information about what
    the DEBUG_CONFIGURATIONS of upstream were, so we can't determine
    which configuration-specific properties to populate. The best we can do
    is add it to all of them or add it to the ones downstream considers to
    be DEBUG_CONFIGURATIONS, neither of which is a good solution.
    
    So, removing the porcelain API for that is the best approach. A human
    can still determine which properties to populate and use
    the set_property API to populate the desired properies.
    
    Another solution to this would be for upstream targets to publish
    what they consider DEBUG_CONFIGURATIONS, but that can be added in
    a future release.

diff --git a/Source/cmTargetLinkLibrariesCommand.cxx 
b/Source/cmTargetLinkLibrariesCommand.cxx
index 0705fb4..f42b0f6 100644
--- a/Source/cmTargetLinkLibrariesCommand.cxx
+++ b/Source/cmTargetLinkLibrariesCommand.cxx
@@ -35,10 +35,6 @@ bool cmTargetLinkLibrariesCommand
     ->GetGlobalGenerator()->FindTarget(0, args[0].c_str());
   if(!this->Target)
     {
-    this->Target = this->Makefile->FindTargetToUse(args[0].c_str());
-    }
-  if(!this->Target)
-    {
     cmake::MessageType t = cmake::FATAL_ERROR;  // fail by default
     cmOStringStream e;
     e << "Cannot specify link libraries for target \"" << args[0] << "\" "
@@ -261,16 +257,6 @@ cmTargetLinkLibrariesCommand::HandleLibrary(const char* 
lib,
   // Handle normal case first.
   if(this->CurrentProcessingState != ProcessingLinkInterface)
     {
-    if (this->Target->IsImported())
-      {
-      cmOStringStream e;
-      e << "Imported targets may only be used with the "
-          "LINK_INTERFACE_LIBRARIES specifier to target_link_libraries.";
-      this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
-      return;
-      }
-
-
     this->Makefile
       ->AddLinkLibraryForTarget(this->Target->GetName(), lib, llt);
     if (this->CurrentProcessingState != ProcessingPublicInterface)
diff --git a/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt 
b/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt
index 1551c50..1d0e342 100644
--- a/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt
@@ -29,9 +29,6 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
 add_library(depA SHARED depA.cpp)
 generate_export_header(depA)
 
-add_library(importedlib UNKNOWN IMPORTED)
-target_link_libraries(importedlib LINK_INTERFACE_LIBRARIES depA)
-
 add_library(depB SHARED depB.cpp)
 generate_export_header(depB)
 

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

Summary of changes:
 Source/CMakeVersion.cmake                          |    2 +-
 Source/cmTargetCompileDefinitionsCommand.cxx       |    8 +++-----
 Source/cmTargetCompileDefinitionsCommand.h         |    5 ++---
 Source/cmTargetIncludeDirectoriesCommand.cxx       |    8 +++-----
 Source/cmTargetIncludeDirectoriesCommand.h         |    5 ++---
 Source/cmTargetLinkLibrariesCommand.cxx            |   14 --------------
 Source/cmTargetPropCommandBase.cxx                 |    4 ++--
 Source/cmTargetPropCommandBase.h                   |    3 +--
 .../target_compile_definitions/CMakeLists.txt      |    7 +------
 .../target_compile_definitions/consumer.cpp        |    4 ----
 .../target_include_directories/CMakeLists.txt      |   10 +---------
 .../target_include_directories/consumer.cpp        |    5 -----
 .../target_link_libraries/CMakeLists.txt           |    3 ---
 13 files changed, 16 insertions(+), 62 deletions(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits

Reply via email to