Re: [osg-users] DLL versioned MSVC and NMAKE problem, relative paths are wrong

2008-02-11 Thread Jean-Sébastien Guay
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

2008-02-11 Thread Mario Valle
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

2008-02-11 Thread megamiller zoid



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

2008-02-11 Thread megamiller zoid

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

2008-02-11 Thread Jean-Sébastien Guay
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

2008-02-10 Thread megamiller zoid

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