[cmake-developers] [CMake 0014600]: PDB_NAME target property ignored
Mantis Bug Tracker
mantis at public.kitware.com
Tue Nov 26 20:22:06 EST 2013
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
======================================================================
More information about the cmake-developers
mailing list