Hi Robert,

At present I've only tested the core libraries without any 3rdparty
dependencies, on VS10 express. I'm using the virtual machine because I
have to keep VS9 on my own computer, but it's too slow to get to more
experiments. I will continue to work on it this weekend.
I'm not sure of the reason why genrating files folders are changed. If
this is a CMake issue and would be solved later, it could be really a
pain to developers using older versions. Maybe a better solution in
future would be to replace the relative path in SET_TARGET_PROPERTIES
with something else?

Cheers,

Wang Rui


2010/4/21 Robert Osfield <[email protected]>:
> Hi Wang Rui,
>
> I've merged the changes as it, but just commenting something out, for
> recent VS versions, that was previously required makes me a bit
> nervous.  It looks like older version of VS will work fine, but the
> change makes me wonder if everything under VS 2010 will still work
> fully.  Have you been able to build the whole OSG, install it and
> generate packages for it?
>
> Cheers,
> Robert.
>
> On Tue, Apr 20, 2010 at 2:09 PM, Wang Rui <[email protected]> wrote:
>> Hi Robert,
>>
>> The OSG book I'm working on will focus on helping beginners build
>> latest OSG source code with Visual Studio 2010 express, without
>> setting too many options and without facing unexpected errors. But at
>> present, the compilation process will fail because the INSTALL project
>> 'cannot find' generated DLLs while copying files. I have looked into
>> the build directory and found that the places of generated file
>> folders were just different from previous VS versions. In this case,
>> the old hack in OsgMacroUtils.cmake may become invalid:
>>
>> MACRO(HANDLE_MSVC_DLL)
>>        #this is a hack... the build place is set to lib/<debug or
>> release> by LIBARARY_OUTPUT_PATH equal to OUTPUT_LIBDIR
>>        #the .lib will be crated in ../ so going straight in lib by
>> the IMPORT_PREFIX property
>>        #because we want dll placed in OUTPUT_BINDIR ie the bin folder
>> sibling of lib, we can use ../../bin to go there,
>>        ...
>>        ELSE(NOT MSVC_IDE)
>>            SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX
>> "../../bin/${LIB_PREFIX}${LIB_SOVERSION}-" IMPORT_PREFIX "../")
>>        ENDIF(NOT MSVC_IDE)
>> ENDMACRO(HANDLE_MSVC_DLL)
>>
>> Here the prefix "../../bin" may need to be fixed. I just modified it to:
>>
>> IF(MSVC_VERSION LESS 1600)
>>     SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX
>> "../../bin/${LIB_PREFIX}${LIB_SOVERSION}-" IMPORT_PREFIX "../")
>> ENDIF()
>>
>> It should keep compatible with old MSVC versions. There are similar
>> fixes in the SETUP_PLUGIN and SETUP_EXE macros. I haven't tested them
>> on more platforms.
>>
>> Thanks, and take good care of yourself no matter how busy the
>> submissions work is. :)
>>
>> Wang Rui
>>
>> _______________________________________________
>> 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
>
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to