From: Andrew F. <aw...@ro...> - 2003-01-16 19:02:35
|
There is an alternative, which I prefer, which is to explicitly set the path to VXL in the private project's CMakeLists.txt file. Yes, I mean begin your CML.txt with SET(VXL_BINARY_PATH /home/awf/src/vxlbin) This may seem wrong, but in fact is the safest solution. It documents that that particular project wants a particular build of VXL. If the user wants to generate code using another build, they need to rerun cmake anyway, and the best way to do that is to edit the CML file. After many years of environment variables I have learned that they are almost never a good idea, for all the reasons Bill outlines. If users want a parametrized CML.txt file they should perl it from CML.txt.in A. > -----Original Message----- > From: vxl...@li... > [mailto:vxl...@li...] On Behalf Of > William A. Hoffman > Sent: 16 January 2003 18:45 > To: Wheeler, Fred (Research); 'ka...@mc...'; VXL Users > List (E-mail) > Subject: RE: [Vxl-users] Example CMakeLists.txt > > > Just a note from the cmake folks. For this type of problem, > I would discourage the use of environment variables in > CMakeLists.txt files. You can use them to find files, but > a project should not depend on outside variables being set > for the project to build. > > The best thing to do is to write a FindVXL.cmake module for CMake. > You can see FindVTK.cmake and FindITK.cmake currently in > CMake/Modules for > an example. > > What we do is have a Find/Use pair of files. The Find is > used to find > the project, then inside the project, there is a > UseProject.cmake file that > is configured by cmake with all the path information you need. > > Environment variables are bound to cause trouble, because > users can have more > than one build, and if they type make in a directory with the > wrong variable set, > they are in trouble. Also, they can get it all working then > login without the > variable set, and if a file is change cmake will re-run > makedepend and then > it will get the wrong thing. > > > -Bill > > > At 01:14 PM 1/16/2003 -0500, Wheeler, Fred (Research) wrote: > >I would double check the setting of the VXLBIN env var, and > the other env vars. The CMake command > > > > MESSAGE( "debug check " $ENV{VXLBIN} ) > > > >would help with this. > > > >Fred Wheeler > > > > > >> -----Original Message----- > >> From: Karen McGaul [mailto:kar...@ya...] > >> Sent: Thursday, January 16, 2003 1:05 PM > >> To: Wheeler, Fred (Research); VXL Users List (E-mail); > >> 'ka...@mc...' > >> Subject: RE: [Vxl-users] Example CMakeLists.txt > >> > >> > >> Hi again, > >> the main problem I'm getting on Linux that I didn't have > on Windows is > >> errors like this when I try and compile my code: > >> > >> /homes/33/kym/vxl/kym-work/simple/main.cxx:29:26: > >> vil/vil_load.h: No such > >> file or directory > >> > >> In the Makefile it looks like this: > >> INCLUDE_FLAGS = -I/homes/33/kym/vxl/kym-work/simple -I/vcl -I/core > >> -I/homes/33/kym/vxl/kym-work -DVXL_WARN_DEPRECATED > >> -DVXL_WARN_DEPRECATED_ONCE > >> > >> So if I edit the Makefile to give the full include > directories it will > >> then compile, but I can't persuade CMake to do this for me. > >> > >> Karen McGaul > >> ky...@ro... > >> VGG, Oxford University > >> > >> > >> __________________________________________________ > >> Do You Yahoo!? > >> Everything you'll ever need on one web page > >> from News and Sport to Email and Music Charts > >> http://uk.my.yahoo.com > >> > > > > > >------------------------------------------------------- > >This SF.NET email is sponsored by: Thawte.com > >Understand how to protect your customers personal > information by implementing > >SSL on your Apache Web Server. Click here to get our FREE > Thawte Apache > >Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en > >_______________________________________________ > >Vxl-users mailing list > >Vxl...@li... > >https://lists.sourceforge.net/lists/listinfo/vxl-users > > > > > ------------------------------------------------------- > This SF.NET email is sponsored by: Thawte.com > Understand how to protect your customers personal information > by implementing > SSL on your Apache Web Server. Click here to get our FREE > Thawte Apache > Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en > _______________________________________________ > Vxl-users mailing list > Vxl...@li... > https://lists.sourceforge.net/lists/listinfo/vxl-users > |