[CMake] CMake 2.8.3-rc4 ready for testing!
Eric Noulard
eric.noulard at gmail.com
Thu Nov 4 03:34:05 EDT 2010
2010/11/4 Bill Hoffman <bill.hoffman at kitware.com>:
>>>> But, for now, you should be able to work around it on your side by
>>>> removing the sha.1 from the list of files in your
>>>> set_source_files_properties call.
>>
>> True just tested that. It works.
>>
>>> I meant "...removing the sha1.h from ..."
>>
>> I inferred that too :-)
>>
>>
> If you don't want that file to be compiled, then setting the language to "C"
> is wrong, and is likely to produce unexpected behavior. It is telling CMake
> that the file is a C file and it should be compiled. CMake should of course
> not create a VS project that fails to load because of this, but it might do
> other odd things when you try and treat a .h file like it is a .c file.
Ok I get it, but note that I had a "semantic" issue.
This project is a C++ project with "some" C files.
There are both headers AND source file.
In my mind "source" file may either be a header or a body (i.e.) to
be compiled file.
So I wazs trying to tell CMake that this header is a C one in order to be
"consistent".
The "set_source_files_properties" says :
"Set properties on a file."
and later on:
"LANGUAGE (string) CXX|C will change the default compiler used to
compile the source file."
now I get that a "source file" is-a to be compiled file.
So my mistake may be was an "english understanding" issue of what is
a "source file".
I continue to think that it would be valuable to tell CMake that such "header"
is a C/Fortran/CXX woiuld be nice.
It may even become necessary if pre-compiled header are to be supported.
So I now understand my mistake but I'm not on your side when you say
"setting the language to "C" is wrong"
I think it should be just OK, setting the "LANGUAGE" of a file shouldn't imply
this file has to be compiled.
--
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org
More information about the CMake
mailing list