NMake causes NOT MSVC_IDE
yes.
Rene
2008/8/22 René Molenaar <[EMAIL PROTECTED]>
> I had to remove the
>
> ADD_CUSTOM_COMMAND POST_BUILD section
> in the (NOT MSVC_IDE) case from the OsgMacroUtils (line 345)
>
>
> before I could build using nmake and cmake 2.6.1
> I think this was needed in earlier versions of cmake,
> the command copied and removed lib and exp files to the
> bin dir, but now it will link with those files in the lib dir.
>
> Rene
>
> 2008/8/22 Philip Lowman <[EMAIL PROTECTED]>
>
>> On Fri, Aug 22, 2008 at 2:06 AM, Mattias Helsing <[EMAIL PROTECTED]>wrote:
>>
>>> Hi Philip,
>>>
>>> It's complaining about all osg libraries since they (when using the
>>> MSVC_IDE generator) don't have a valid libary name according to cmake
>>> (osg while camke expects osg.lib I guess). Extract from
>>> OsgMacroUtils.cmake line 35-37
>>>
>>> ELSE(NOT MSVC_IDE)
>>> TARGET_LINK_LIBRARIES(${TRGTNAME} optimized
>>> "${OUTPUT_LIBDIR}/${LINKLIB}" debug
>>> "${OUTPUT_LIBDIR}/${LINKLIB}${CMAKE_DEBUG_POSTFIX}")
>>> ENDIF(NOT MSVC_IDE)
>>
>>
>> Grrrr...
>>
>> Ok, so the whole section from lines 27 to 42 can, I'm nearly 100% certain,
>> can safely be replaced by one line:
>> TARGET_LINK_LIBRARIES(${TRGTNAME} ${ARGN})
>>
>> I believe all of the complication in this section is due to an obscure
>> use-case conceived by the original designers of the OSG adaption to CMake
>> which is no longer relevant.
>>
>> The simple fact of the matter is CMake automatically handles linking
>> internally generated debug targets against internally generated debug
>> libraries (and same for release) and has done so since at least CMake 2.4.0,
>> probably before that.
>>
>> I'd be confident sending this change to osg-submissions if I knew how to
>> regression test the NOT MSVC_IDE use case. I wonder if this means building
>> the OSG with nmake or some other command line build? Perhaps someone on
>> here more familiar with the VS tools could use the attached file on CMake
>> 2.4.8 and see if NMake causes MSVC_IDE to be false and see if everything
>> builds fine?
>>
>> Alternatively, we could simply submit the fix and handle any repercussions
>> later. If TARGET_LINK_LIBRARIES(${TRGTNAME} ${ARGN}) doesn't work it is
>> most definitely a CMake bug.
>>
>> A less risky fix to elliminate the warning would be to append ".lib" to
>> line 36 and collapse that conditional block.
>>
>> --
>> Philip Lowman
>>
>> _______________________________________________
>> osg-submissions mailing list
>> [email protected]
>>
>> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>>
>>
>
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org