[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cmake
Subject:    [CMake] CMakeCache changing due to PDB
From:       "Ashwin Chandra" <achandra () panologic ! com>
Date:       2009-07-31 20:00:17
Message-ID: 048288CF0239F24A8C2299E69F020B0501541707 () exchange ! panologic ! com
[Download RAW message or body]

--===============0091055589==
Content-class: urn:content-classes:message
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01CA1219.8891B414"

This is a multi-part message in MIME format.


If I initiate a cmake build twice in a row (from clean state), the
second time it does re-linking of files all over again. I have traced
the problem and found that the build.make files in each project dir have
changed. The only changes are the case of the PDB file. For example:

 

"$(CXX_FLAGS) $(CXX_DEFINES) /TP
/FoCMakeFiles\CompressedTile_TestRunner.dir\CompressedTile_TestRunner.cp
p.obj /FdC:\trunk\Debug\wxp_x86\bin\compressedtile_testrunner.pdb -c
C:\trunk\Debug\wxp_x86\atto\common\CompressedTile_TestRunner.cpp"

 

Vs

 

"$(CXX_FLAGS) $(CXX_DEFINES) /TP
/FoCMakeFiles\CompressedTile_TestRunner.dir\CompressedTile_TestRunner.cp
p.obj /FdC:\trunk\Debug\wxp_x86\bin\CompressedTile_TestRunner.pdb -c
C:\trunk\Debug\wxp_x86\atto\common\CompressedTile_TestRunner.cpp"

 

Notice the pdb file changed in case. I think what is happening is that
the compiler is generating the pdb file in all lower case on the first
build run and when doing a second build run, it somehow knows the file
is in lowercase now and it updates the build.make files (which in turn
tells cmake and visual studio compiler to do the linking phase over
again).  Note that a third or more builds work fine (no relinking). 

 

Is there anyway to have the build.make file always generate the pdb
section in lowercase? Where does it get the case of the file anyway?

 

Thanks!


[Attachment #3 (text/html)]

<html xmlns:v="urn:schemas-microsoft-com:vml" \
xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>If I initiate a cmake build twice in a row (from clean
state), the second time it does re-linking of files all over again. I have
traced the problem and found that the build.make files in each project dir have
changed. The only changes are the case of the PDB file. For example:<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&#8220;$(CXX_FLAGS) $(CXX_DEFINES) /TP
/FoCMakeFiles\CompressedTile_TestRunner.dir\CompressedTile_TestRunner.cpp.obj
/FdC:\trunk\Debug\wxp_x86\bin\compressedtile_testrunner.pdb -c
C:\trunk\Debug\wxp_x86\atto\common\CompressedTile_TestRunner.cpp&#8221;<o:p></o:p></p>


<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Vs<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&#8220;$(CXX_FLAGS) $(CXX_DEFINES) /TP
/FoCMakeFiles\CompressedTile_TestRunner.dir\CompressedTile_TestRunner.cpp.obj
/FdC:\trunk\Debug\wxp_x86\bin\CompressedTile_TestRunner.pdb -c
C:\trunk\Debug\wxp_x86\atto\common\CompressedTile_TestRunner.cpp&#8221;<o:p></o:p></p>


<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Notice the pdb file changed in case. I think what is
happening is that the compiler is generating the pdb file in all lower case on
the first build run and when doing a second build run, it somehow knows the file
is in lowercase now and it updates the build.make files (which in turn tells
cmake and visual studio compiler to do the linking phase over again). &nbsp;Note
that a third or more builds work fine (no relinking). <o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Is there anyway to have the build.make file always generate
the pdb section in lowercase? Where does it get the case of the file \
anyway?<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Thanks!<o:p></o:p></p>

</div>

</body>

</html>



_______________________________________________
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://www.cmake.org/mailman/listinfo/cmake
--===============0091055589==--

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic