The following issue has been SUBMITTED. 
====================================================================== 
http://www.cmake.org/Bug/view.php?id=14600 
====================================================================== 
Reported By:                Charles Karney
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   14600
Category:                   CMake
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2013-11-26 20:22 EST
Last Modified:              2013-11-26 20:22 EST
====================================================================== 
Summary:                    PDB_NAME target property ignored
Description: 
I'm building using cmake 2.8.11 with the Visual Studio 10 Generator and
src/CMakeLists.txt contains

  set_target_properties (${PROJECT_STATIC_LIBRARIES} PROPERTIES
      VERSION "${LIBVERSIONFULL}" OUTPUT_NAME GeographicLib
      PDB_NAME GeographicLib_STATIC)

After building I have

  <build-dir>/src/DEBUG/GeographicLib_STATIC.pdb

alongside my .lib file as expected.  (Actually it's
geographiclib_static.pdb, but never mind about that.)

A colleague is using cmake 2.8.12 with my project and for him the pdb
file is buried as

  <build-dir>/src/GeographicLib_STATIC.dir/Dedug/vc100.pdb

I.e., the directory and the name are wrong.  This bug was introduced
between 2.8.11 and 2.8.12.  The following deletion seems to be
responsible.

--- cmake-2.8.11/Source/cmVisualStudio10TargetGenerator.cxx     2013-05-15
13:38:13.000000000 -0400
+++ cmake-2.8.12/Source/cmVisualStudio10TargetGenerator.cxx     2013-10-07
11:31:00.000000000 -0400
@@ -1260,18 +1409,7 @@
 
   clOptions.OutputPreprocessorDefinitions(*this->BuildFileStream, "      ",
                                           "\n", "CXX");
-  this->WriteString("<AssemblerListingLocation>", 3);
-  *this->BuildFileStream << configName
-                         << "</AssemblerListingLocation>\n";
   this->WriteString("<ObjectFileName>$(IntDir)</ObjectFileName>\n", 3);
-  if(this->Target->GetType() != cmTarget::OBJECT_LIBRARY)
-    {
-    this->WriteString("<ProgramDataBaseFileName>", 3);
-    *this->BuildFileStream << this->Target->GetPDBDirectory(configName.c_str())
-                           << "/"
-                           << this->Target->GetPDBName(configName.c_str())
-                           << "</ProgramDataBaseFileName>\n";
-    }
   this->WriteString("</ClCompile>\n", 2);
 }
 


Steps to Reproduce: 
Set the PDB_NAME property on a library, build the Debug config.  PDB file is
in the right location with 2.8.11 and in the wrong location with 2.8.12.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2013-11-26 20:22 Charles Karney New Issue                                    
======================================================================

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to