On 1. Nov, 2009, at 16:27 , elizabeta petreska wrote:

Hello

I am using Windows ansd Cmake 2.6. I am invoking CMake from command window which has set some environment variables. The environment variables are
visible only the during the lifetime of the command window.
I am using the environment  variables in many places through my
cmakelists.txt , for example in INCLUDE_DIRECTORIES, LINK_LIBRARIES etc. The
environment  variables are mainly set with file path strings.

Problem :
When I am working in Visual Studio on my project, if my cmakelists.txt for
the project is changed, Cmake is rerun from Visual Studio.
Because  Cmake is run from Visual Studio , and not the shell where the
environment  variables are set , it can't recognize the environment
variables. How to overcome this ?
Thanks

Somewhere short after the PROJECT command, put something like this:

foreach(_var VAR1 VAR2 VAR3 VAR4)
  if(NOT DEFINED ${_var})
set(${_var} "$ENV{${_var}}" CACHE INTERNAL "This is my super variable ${_var}")
  endif()
endforeach()

This will initialize internal cache variables with the values from the environment, and then in subsequent runs use the values from the cache.


HTH

Michael
_______________________________________________
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