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  e2bc5a3721de77f33e767b6b93ce5374b54b3f83 (commit)
       via  a4da6fa71dc0e0e6102d4b72f7abee00ac4e4110 (commit)
      from  0182855fffbc438a453a9deada0b488be550978f (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e2bc5a3721de77f33e767b6b93ce5374b54b3f83
commit e2bc5a3721de77f33e767b6b93ce5374b54b3f83
Merge: 0182855 a4da6fa
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Nov 30 11:51:10 2016 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Wed Nov 30 11:51:10 2016 -0500

    Merge topic 'compile-pdb-default' into next
    
    a4da6fa7 Ninja,Makefile: Name static library compile PDB files as VS does


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a4da6fa71dc0e0e6102d4b72f7abee00ac4e4110
commit a4da6fa71dc0e0e6102d4b72f7abee00ac4e4110
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Nov 30 10:20:52 2016 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Nov 30 10:26:31 2016 -0500

    Ninja,Makefile: Name static library compile PDB files as VS does
    
    Change the default compile PDB file name for static libraries to match
    the Visual Studio default of using the logical target name.  This may be
    incompatible with existing behavior but `COMPILE_PDB_NAME` documents
    that the default is unspecified.  Projects depending on a particular
    name should set the property.
    
    Closes: #16438

diff --git a/Source/cmMakefileTargetGenerator.cxx 
b/Source/cmMakefileTargetGenerator.cxx
index 2e5173d..6906a90 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -520,8 +520,15 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
       targetFullPathCompilePDB =
         this->GeneratorTarget->GetCompilePDBPath(this->ConfigName);
       if (targetFullPathCompilePDB.empty()) {
+        // Match VS default: `$(IntDir)vc$(PlatformToolsetVersion).pdb`.
+        // A trailing slash tells the toolchain to add its default file name.
         targetFullPathCompilePDB =
           this->GeneratorTarget->GetSupportDirectory() + "/";
+        if (this->GeneratorTarget->GetType() == cmStateEnums::STATIC_LIBRARY) {
+          // Match VS default for static libs: `$(IntDir)$(ProjectName).pdb`.
+          targetFullPathCompilePDB += this->GeneratorTarget->GetName();
+          targetFullPathCompilePDB += ".pdb";
+        }
       }
     }
 
diff --git a/Source/cmNinjaTargetGenerator.cxx 
b/Source/cmNinjaTargetGenerator.cxx
index e47de97..8090542 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -359,7 +359,14 @@ bool 
cmNinjaTargetGenerator::SetMsvcTargetPdbVariable(cmNinjaVars& vars) const
       compilePdbPath =
         this->GeneratorTarget->GetCompilePDBPath(this->GetConfigName());
       if (compilePdbPath.empty()) {
+        // Match VS default: `$(IntDir)vc$(PlatformToolsetVersion).pdb`.
+        // A trailing slash tells the toolchain to add its default file name.
         compilePdbPath = this->GeneratorTarget->GetSupportDirectory() + "/";
+        if (this->GeneratorTarget->GetType() == cmStateEnums::STATIC_LIBRARY) {
+          // Match VS default for static libs: `$(IntDir)$(ProjectName).pdb`.
+          compilePdbPath += this->GeneratorTarget->GetName();
+          compilePdbPath += ".pdb";
+        }
       }
     }
 

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

Summary of changes:
 Source/cmMakefileTargetGenerator.cxx |    7 +++++++
 Source/cmNinjaTargetGenerator.cxx    |    7 +++++++
 2 files changed, 14 insertions(+)


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

Reply via email to