fixed - Re: [CMake] Forcing C++: What Causes VC Warning D4025 : overriding /TP with /TC

Steve Johns steve.johns at verizon.net
Fri Jun 30 15:39:39 EDT 2006


Bill,

Thanks for responding.

> This problem should be fixed in CVS.  It no longer adds both /TP and /TC.
> Please try cvs before reporting a new bug, or opening an old one.


OK, that's what I did, hence my earlier message (quoted below).  Since that 
one got no replies, I figured I was being subtly encouraged to check out the 
history/status of the bug/resolution via the Bug Tracker.

So, at this point, protocol-wise, I'm confused about the best and proper way 
to

a)  investigate the status/resolution of a previously reported bug
b) understand where and how a fix was made, both generally and for this 
specific bug
c) understand when and why patch releases are prepared, or not

Maybe I've created a hairball of questions by this point, which wasn't my 
intent.

I want to use the available resources efficiently and curteously - I'm 
asking questions to understand how to do so.
I would welcome guidance on any/all of a) - c), in whole or in part.

Thanks!

- Steve

____

Earlier post:

> Thank you for this info.  I'm now looking at something that seems 
> relevant,
> but this look has raised more questions in my mind.
>
> I am currently running the binary distro of 2-4-2
> Inside:
>
> cmLocalVisualStudio7Generator.cxx
> Revision: 1.125.2.3, Sun May 14 19:22:42 2006 UTC (6 weeks, 4 days ago) by
> hoffman
> Branch: CMake-2-4
> CVS Tags: CMake-2-4-2
> Changes since 1.125.2.2: +107 -62 lines
>
> I find:
>
>    // if the source file does not match the linker language
>    // then force c or c++
>    if(linkLanguage && lang && strcmp(lang, linkLanguage) != 0)
>      {
>      if(strcmp(lang, "CXX") == 0)
>      {
>      // force a C++ file type
>      compileFlags += " /TP ";
>        }
>      else if(strcmp(lang, "C") == 0)
>        {
>        // force to c
>        compileFlags += " /TC ";
>        }
>      }
>
> If I'm reading this right (?), this is the CAUSE of the problem - i.e. 
> this
> is where the trailing " /TC" gets added at the end of the build command,
> when lang == "C", which is when the file has a .c extension.  Is this 
> right
> so far?
>
> then I find, in this later version, ( later than 2-4-2, meaning it's not 
> in
> my CMake executable, yes?) :
>
> cmLocalVisualStudio7Generator.cxx
> Revision 1.135 - (view) (download) (as text) (annotate) - [select for 
> diffs]
> Tue Jun 6 16:01:23 2006 UTC (3 weeks, 2 days ago) by hoffman
> Branch: MAIN
>
> ENH: fix /TP for c code
>
> Is this the fix you refer to?
>
> I looked at the diff for these two versions, and see that 1.135 adds code
> down around line 1167 dealing with flags in some way that I can't quickly
> decipher, but which has no immediately recognizable reference to "/TC " or
> "/TP ".
>
> If this is the fix, and it works, I'd be interested to understand how it
> works.
>
> If this is not the fix, I'm sorry for getting it wrong, and I'd welcome a
> pointer to the correct revision.
>
> Finally, it seems that binary distros are prepared relatively 
> infrequently.
> Is getting this:
>
>>> SET(CMAKE_C_COMPILER ${CMAKE_CXX_COMPILER})
>>> SET_TARGET_PROPERITES( <tgt> PROPERTIES LINKER_LANGUAGE CXX)
>
> to work as intended in these circumstances not judged important enough to
> warrant a 2-4-3 build?
>
> It would be helpful, if possible, to be able to refer my development
> partner(s) to a binary distro of CMake that handles this situation.
>
> If I have to bite the bullet and start compiling CMake's own source code,
> and getting partner(s) to do same, I imagine we can and will, but if
> generating a 2-4-3 binary at "home base" is not hard, perhaps it would be
> worthwhile and save some people from extra work and possible issues in the
> field.



More information about the CMake mailing list