[Cmake-commits] CMake branch, next, updated. v2.8.10.2-2610-g1ca0b5a

Brad King brad.king at kitware.com
Fri Mar 22 11:00:20 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  1ca0b5a0307774214b9082d168f74b2a8c876e3c (commit)
       via  0b7ad3f091decb9fe8f2cd7001de7ecc05913342 (commit)
      from  b3cb0fd09db2416f050cf6170559a41cbf9e094d (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=1ca0b5a0307774214b9082d168f74b2a8c876e3c
commit 1ca0b5a0307774214b9082d168f74b2a8c876e3c
Merge: b3cb0fd 0b7ad3f
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Mar 22 11:00:02 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Mar 22 11:00:02 2013 -0400

    Merge topic 'compile-object-TARGET-placeholder' into next
    
    0b7ad3f Replace <TARGET> in CMAKE_<LANG>_COMPILE_OBJECT rule variables


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0b7ad3f091decb9fe8f2cd7001de7ecc05913342
commit 0b7ad3f091decb9fe8f2cd7001de7ecc05913342
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Mar 21 14:31:57 2013 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Mar 22 07:52:54 2013 -0400

    Replace <TARGET> in CMAKE_<LANG>_COMPILE_OBJECT rule variables
    
    In some languages the compiler may need to know the path of the final
    target file for which an object is being compiled.  Honor the <TARGET>
    placeholder for compilation rules to support such cases.
    
    Note that this cannot work with OBJECT library targets because the final
    target path is not known during compilation (there can even be more than
    one final target).
    
    Suggested-by: Vittorio Giovara <vittorio.giovara at gmail.com>

diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index d9aa7fe..922adc6 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -640,18 +640,25 @@ cmMakefileTargetGenerator
       (commands, buildEcho.c_str(), cmLocalUnixMakefileGenerator3::EchoBuild);
     }
 
+  std::string targetOutPathReal;
   std::string targetOutPathPDB;
   {
+  std::string targetFullPathReal;
   std::string targetFullPathPDB;
   if(this->Target->GetType() == cmTarget::EXECUTABLE ||
      this->Target->GetType() == cmTarget::STATIC_LIBRARY ||
      this->Target->GetType() == cmTarget::SHARED_LIBRARY ||
      this->Target->GetType() == cmTarget::MODULE_LIBRARY)
     {
+    targetFullPathReal =
+      this->Target->GetFullPath(this->ConfigName, false, true);
     targetFullPathPDB = this->Target->GetPDBDirectory(this->ConfigName);
     targetFullPathPDB += "/";
     targetFullPathPDB += this->Target->GetPDBName(this->ConfigName);
     }
+  targetOutPathReal = this->Convert(targetFullPathReal.c_str(),
+                                    cmLocalGenerator::START_OUTPUT,
+                                    cmLocalGenerator::SHELL);
   targetOutPathPDB =
     this->Convert(targetFullPathPDB.c_str(),cmLocalGenerator::NONE,
                   cmLocalGenerator::SHELL);
@@ -660,6 +667,7 @@ cmMakefileTargetGenerator
   vars.RuleLauncher = "RULE_LAUNCH_COMPILE";
   vars.CMTarget = this->Target;
   vars.Language = lang;
+  vars.Target = targetOutPathReal.c_str();
   vars.TargetPDB = targetOutPathPDB.c_str();
   vars.Source = sourceFile.c_str();
   std::string shellObj =

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

Summary of changes:
 Source/cmMakefileTargetGenerator.cxx |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list