The following code prints nothing
CHECK_INCLUDE_FILE_CXX(glog/logging.h GLOG_INCLUDE)
IF(GLOG_INCLUDE)
MESSAGE("YY")
ENDIF(GLOG_INCLUDE)
But I have the following environment variable set:
export CPLUS_INCLUDE_PATH=/usr/local/include
And, "ls /usr/local/include/glog/logging.h" returns t开发者_如何学编程he file.
I tried using
include_directories( "/usr/local/include" )
but GLOG_INCLUDE remains undefined after (logging.h remains not found.)
Take a look at the CheckIncludeFileCXX.cmake. It should be in a directory in your cmake installation (I have it in /usr/share/cmake-2.8/Modules).
This file states:
# The following variables may be set before calling this macro to
# modify the way the check is run:
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
#
So you can try setting this variable before caling the command, like this:
set (CMAKE_REQUIRED_INCLUDES "/usr/local/include")
CHECK_INCLUDE_FILE_CXX(glog/logging.h GLOG_INCLUDE)
IF(GLOG_INCLUDE)
MESSAGE("YY")
ENDIF(GLOG_INCLUDE)
精彩评论