On 2007-09-18 17:35+0200 BlinkEye wrote:

Hi guys

I'm not able to convince cmake to properly use an environment variable which
consists of more than one entry for the INCLUDE_DIRECTORIES directive. It always
takes the value as it is:

Passing

MY_SPECIAL_INCLUDE32=/foo/bar/32bit/include:/foo/bar/include

to INCLUDE_DIRECTORIES like

INCLUDE_DIRECTORIES( "$ENV{MY_SPECIAL_INCLUDE32}" )

results in

/usr/bin/c++ -I/foo/bar/32bit/include:/foo/bar/include ...

instead of

/usr/bin/c++ -I/foo/bar/32bit/include -I/foo/bar/include ...


What happens if you use the correct CMake list delimiter ";" rather than ":"
to separate the two include directories?  IOW, as a test try

INCLUDE_DIRECTORIES("/foo/bar/32bit/include;/foo/bar/include")

I haven't tried that, but it may work.

If that works, then you could (a) ask your users to use a
semicolon-separated list of directories (which is probably a little
confusing and unnatural for them) or (b) continue with a colon-separated
environment variable, but transform it in CMake with STRING to replace ":" by
";" before using it as a list.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________
_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to