On 11/15/2011 06:04 PM, Bill Hoffman wrote: > On 11/15/2011 11:52 AM, Michael Hertling wrote: > >> Could you boild down this issue to a minimal and self-sufficient example >> - i.e. a project working with 2.6 (quite old) but failing with 2.8 - and >> post it here for further investigation? >> > There was a bug created for this, and the problem found. The cmake code > was marking the .h file as an object file. Must have been a bug fix in > CMake that allowed the .h to be treated as an object file. > > See here for information: > http://public.kitware.com/Bug/view.php?id=12575
Hi Bill, many thanks for this hint. Perhaps, I might take the opportunity and ask a related question. In [1], I noted that a file declared as EXTERNAL_OBJECT is delivered to the linker only if it has a name extension mentioned in CMAKE_<LANG>_IGNORE_EXTENSIONS, and this variable isn't accessible to the user. IMO, this is wrong; instead, EXTERNAL_OBJECT files should be supplied to the linker regardless of their name extensions, i.e. the relevant blocks within cmMakefileTargetGenerator::WriteTargetBuildRules() from Source/cmMakefileTargetGenerator.cxx should be swapped. That's also what the user expects from the EXTERNAL_OBJECT property's documention, as the limitation to the ignored extensions isn't mentioned. Is there a reason why this restriction is applied? Regards, Michael [1] http://www.mail-archive.com/cmake@cmake.org/msg37231.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