Re: [osg-users] DLL versioned MSVC and NMAKE problem, relative paths are wrong
Hello René, If it is possible to use Visual Studio Express Edition and command line build, let me know, as far as I know the command line files are not in the express edition. It is definitely possible, that's what I use at home. They just renamed devenv.exe to vcexpress.exe, but the command line options are still available. See http://msdn2.microsoft.com/en-us/library/xee0c8y7.aspx The main command line option for you is /Build of course. :-) You can specify to build the INSTALL target, which will do the right thing. Be sure to run the vcvarsall.bat script beforehand so it will set up your environment correctly (but you know that, you're using nmake! :-) I also use nmake, because it triggers cmake before building, if this happens in visual studio you will have to reopen all you projects (the project has been changed from outside...). This makes testing cmake scripts more time consuming. If you have nothing else modifying your project files, they will not need to be reloaded, so it's no problem... Plus, if you run the build from the command line as above, you shouldn't have that problem, it should work fine. (if someone knows how to avoid closing/opening visual studio or reloading the projects one by one let me know). That annoys me too, but it isn't very often that I tweak the CMake config files, so I don't mind that much. I have used this build system with osg for over two years now, it worked perfectly until the current cmake hack (adding../../bin to move files) was created. I think a better (cmake) solution is possible. I don't know, I seem to recall that was a workaround for some other problem, though I can't remember which one. Maybe if you search the archives for ../../bin you would find that discussion. I think Luigi Calori was the one who did that modification for versioning the DLL files, so that might help your search as well. Thanks, J-S -- __ Jean-Sebastien Guay[EMAIL PROTECTED] http://www.cm-labs.com/ http://whitestar02.webhop.org/ ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] DLL versioned MSVC and NMAKE problem, relative paths are wrong
Jean-Sébastien Guay wrote: Alternatively, did you know you can invoke Visual Studio with command line options to build a .sln file from the command line? This might be simpler if you want the result to be identical to a build from the IDE, without having to fiddle with CMake to build with nmake. I don't remember the command-line options off-hand but I can dig them up if you're interested. J-S devenv blabla.sln /build Release Hope it helps mario -- Ing. Mario Valle Visualization Group | http://www.cscs.ch/~mvalle Swiss National Supercomputing Centre (CSCS) | Tel: +41 (91) 610.82.60 v. Cantonale Galleria 2, 6928 Manno, Switzerland | Fax: +41 (91) 610.82.82 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] DLL versioned MSVC and NMAKE problem, relative paths are wrong
Hello Jean-Sébastien, megamillerzoid wrote: the versioning is not the problem, but libs also get a prefix. This way their final location will be in the bin folder. Jean-Sébastien Guay wrote: Libs should go in lib/, and DLLs and executables should go in bin/ ... I understand, I called the dll's libs... in cmake ${LIB_NAME} is used, and the ${LIB_NAME} target (among others) gets the wrong prefix property. In my fix the .lib files will go in the lib dir (without a version prefix), just like in Visual Studio Solutions. If it is possible to use Visual Studio Express Edition and command line build, let me know, as far as I know the command line files are not in the express edition. I also use nmake, because it triggers cmake before building, if this happens in visual studio you will have to reopen all you projects (the project has been changed from outside...). This makes testing cmake scripts more time consuming. (if someone knows how to avoid closing/opening visual studio or reloading the projects one by one let me know). Jean-Sébastien Guay wrote: Though it seems you are the only one using nmake to build OSG :-) I have used this build system with osg for over two years now, it worked perfectly until the current cmake hack (adding../../bin to move files) was created. I think a better (cmake) solution is possible. Thanks for your feedback! I will take a look at the submission mailing list. René _ Bekijk Yes-R's real life soap op MSN Video! http://video.msn.com/video.aspx?mkt=nl-nltab=m1192527562294vid=8aff5b76-b78d-4b55-8b64-ef7e1d73aab2playlist=videoByUuids:uuids:50b732c2-c105-41e9-adf0-36bd627d4eaa,0813da8c-031b-423f-a79d-35d925aee805,5cce447e-948d-43af-9862-45bb6bb9d6d8,6a39138c-f562-4254-be70-9d93343650f8,f9b8d78f-05a4-4c74-8e4b-28d20a4037abfrom=NLNL_Yes-R ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] DLL versioned MSVC and NMAKE problem, relative paths are wrong
Jean-Sébastien Guay wrote: adapting the build files generated for nmake to make it accept the versioned DLLs Nope, I adapted the cmake files so it generates correct build files for nmake. The changes had to be done at many places in (OsgMacroUtils and two CmakeLists.txt) (libs, linking, apps, plugins. wrappers) The problem with the hard-coded paths to move the dll's is this: Visual Studio creates Release and Debug folders, the versioning is not the problem, but libs also get a prefix. This way their final location will be in the bin folder. For example (for the plugins): PREFIX = ../../bin/${OSG_PLUGINS} which will become something like ../../../lib/release/../../bin/osg/osgPlugins-2.2.0/ if you generate files for nmake this 'trick' will not work, it has to be: ../bin/${OSG_PLUGINS} I have created a fix for this... Let me know if this needs to be submitted. Rene _ De mooiste afbeeldingen van Angelina Jolie vind je met Live Search http://search.live.com/images/results.aspx?q=angelina%20jolieFORM=MIINTM ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] DLL versioned MSVC and NMAKE problem, relative paths are wrong
Bonjour René, I am using commandline build system nmake on windows, since the OSG_MSVC_VERSIONED_DLL hack this does not work anymore, because there are hard-coded paths to move the dll's, but nmake has different locations for the files. I don't quite see why versioned DLLs would be a problem with nmake but not with the IDE, as both just call cl.exe (the VC++ command line compiler). So I think you just have to adjust the build files you use with nmake to do the right thing with the versioned DLLs. I really think removing the versioning is not desirable, since its goal is to remove DLL hell on Windows platforms. Since you're using nmake on Windows, this is still a desirable goal :-) BTW, DLLs do not need to be in your lib directory when you compile, they only need to be somewhere where your program can find them when it starts. Either in the program's current directory, on your PATH or in the Windows System32/other predefined location. So I do not understand what you mean above by hard-coded paths to move the dll's. If you have suggestions to improve the CMake config for nmake, it will be appreciated, but I really think you have to approach it from the other angle: adapting the build files generated for nmake to make it accept the versioned DLLs, instead of removing the versioning. J-S -- __ Jean-Sebastien Guay[EMAIL PROTECTED] http://www.cm-labs.com/ http://whitestar02.webhop.org/ ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] DLL versioned MSVC and NMAKE problem, relative paths are wrong
Dear OSG-Users, I am using commandline build system nmake on windows, since the OSG_MSVC_VERSIONED_DLL hack this does not work anymore, because there are hard-coded paths to move the dll's, but nmake has different locations for the files. There are two solutions, 1: change IF(MSVC) on line 142, 158, 299 and 301 of CMakeList.txt (r7885) to IF(MSVC_IDE) This fixes the problem, but the dll's are now not versioned and in the /lib dir 2: change the macro's in OsgMacroUtils.cmake for the IF(NOT MSVC_IDE) situation. Not sure what needs to be changed, but that way we can keep the versioning and /bin placements I was wondering if this change should be in the repository, if so please instruct me to summit the changes, (i'am still experimenting with the solution 2 suggestions are welcome). I am also trying to build on other platforms (linux, sun, aix, hp) not without problems, where can I sent an overview of my feedback? Have a nice day, René Molenaar _ De mooiste afbeeldingen van Angelina Jolie vind je met Live Search http://search.live.com/images/results.aspx?q=angelina%20jolieFORM=MIINTM ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org