On 10/19/2009 04:35 PM, David Doria wrote:
On Mon, Oct 19, 2009 at 4:31 PM, Eric Noulard<[email protected]>  wrote:
2009/10/19 David Doria<[email protected]>:
You can use $ENV{CPLUS_INCLUDE_PATH} to get the contents of the path.

I tried to do this:
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} $ENV{CPLUS_INCLUDE_PATH})
I think the appropriate syntax should be:

INCLUDE_DIRECTORIES($ENV{CPLUS_INCLUDE_PATH}))

even if I don't know if comma separated value is supported because
the doc says:
My understanding was that:
INCLUDE_DIRECTORIES(a)
sets INCLUDE_DIRECTORIES to a

where
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} a)
sets INCLUDE_DIRECTORIES to what it was PLUS a

Is this correct?

Also, these are colon separated values in the .bashrc file - so is the
answer that cmake cannot do this? If so, does it seem like a
reasonable feature request?

Thanks,

David
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
The CPLUS_INCLUDE_PATH variable is separated with colons (':'). For cmake you need to replace those with either spaces or semicolons (sorry, can't remember exactly). This is what I have in one of my files.

if (NOT $ENV{CPLUS_INCLUDE_PATH}  STREQUAL "")
  string (REPLACE ":" " " INCLUDES $ENV{CPLUS_INCLUDE_PATH})
  string (REPLACE "//" "/" INCLUDES ${INCLUDES})
  string(REGEX MATCHALL "[^ ]+" LIST_INCLUDES ${INCLUDES})
endif (NOT $ENV{CPLUS_INCLUDE_PATH}  STREQUAL "")

I forgot why I needed the second REPLACE. The first one replaces the ':' with spaces. The REGEX_MATCHALL creates a list with all paths in the original CPLUS_INCLUDE_PATH. At the end you probably want

include_directories(LIST_INCLUDES)

Sorry it's been a while since I wrote this and didn't do a good job documenting. Let me know if it does not solve your problem.

a




_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to