title: cmake DEFINED does not seems to recognize variable
body: <p>I have this code in cmake:</p>
  
  <pre><code>#mandatory
  SET(BOOST_DIR "$ENV{BOOST_HOME}")
  if (DEFINED ${BOOST_DIR})
      #global include directories
      include_directories(${BOOST_DIR})
  else(DEFINED ${BOOST_DIR})
      message( STATUS "BOOST_HOME at ${BOOST_DIR}")
  
      message( FATAL_ERROR "Undefined BOOST_HOME env var.")
  endif(DEFINED ${BOOST_DIR})
  </code></pre>
  
  <p>The env var BOOST_HOME is defined (/home/ferran/boost). The behavior is very odd because the output is:</p>
  
  <pre><code>-- BOOST_HOME at /home/ferran/boost
  CMake Error at CMakeLists.txt:14 (message):
    Undefined BOOST_HOME env var.
  
  
  -- Configuring incomplete, errors occurred!
  </code></pre>
  
  <p>So, the var exists and prints its contents and at the same time does not exists?</p>