MantisBT - CMake
View Issue Details
0014763CMakeCMakepublic2014-02-18 09:582014-10-06 10:32
Brad King 
Brad King 
normalfeatureN/A
closedfixed 
 
CMake 3.1CMake 3.1 
0014763: Add target properties to specify MS compiler PDB files
As reported in issue 0014062 and documented in more detail in 0014600, compiler PDB files are different from linker PDB files. The issues were resolved by removing the influence of PDB_NAME and PDB_OUTPUT_DIRECTORY target properties on the /Fd flag of "cl" so that we do not specify the same file as both the compiler and linker program databases.

However, for static libraries there is no linker program database so the compiler program database becomes more important. We need new target properties to control the compiler program database location:

 COMPILE_PDB_NAME[_<CONFIG>]
 COMPILE_PDB_OUTPUT_DIRECTORY[_<CONFIG>]
No tags attached.
related to 0014062closed Brad King Setting Compiler and Linker PDB to the same path in Visual Studio is unsupported. 
related to 0014600closed Brad King Document PDB behavior w.r.t. static libraries 
related to 0011899closed Brad King Put compiler's program database files into intermediate directory rather than output one for VS 2005 
related to 0014577closed Brad King Need to map /Fd to ProgramDataBaseFileName in VS 7,8,9 
Issue History
2014-02-18 09:58Brad KingNew Issue
2014-02-18 09:58Brad KingStatusnew => assigned
2014-02-18 09:58Brad KingAssigned To => Brad King
2014-02-18 09:58Brad KingRelationship addedrelated to 0014062
2014-02-18 09:59Brad KingRelationship addedrelated to 0014600
2014-02-18 09:59Brad KingRelationship addedrelated to 0011899
2014-02-18 09:59Brad KingRelationship addedrelated to 0014577
2014-02-18 10:15yodanNote Added: 0035139
2014-02-18 10:18Brad KingDescription Updatedbug_revision_view_page.php?rev_id=1390#r1390
2014-02-18 10:19Brad KingNote Added: 0035140
2014-02-26 09:43Brad KingNote Added: 0035208
2014-02-26 09:43Brad KingStatusassigned => resolved
2014-02-26 09:43Brad KingResolutionopen => fixed
2014-02-26 09:43Brad KingFixed in Version => CMake 3.1
2014-10-06 10:32Robert MaynardNote Added: 0036916
2014-10-06 10:32Robert MaynardStatusresolved => closed

Notes
(0035139)
yodan   
2014-02-18 10:15   
I believe COMPILE_PDB_NAME should also vary by configuration - e.g. libsomething3.lib, libsomething3.pdb in Release vs. libsomething3d.lib, libsomething3d.pdb in Debug.
(0035140)
Brad King   
2014-02-18 10:19   
Re 0014763:0035139: Yes, thanks. PDB_NAME_<CONFIG> already exists for linker program database files. I updated the description to add COMPILE_PDB_NAME_<CONFIG>.
(0035208)
Brad King   
2014-02-26 09:43   
Implemented:

 MSVC: Add properties to configure compiler PDB files
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0ea3aee8 [^]
(0036916)
Robert Maynard   
2014-10-06 10:32   
Closing resolved issues that have not been updated in more than 4 months.