1*da0073e9SAndroid Build Coastguard Worker# ---[ glog 2*da0073e9SAndroid Build Coastguard Worker 3*da0073e9SAndroid Build Coastguard Worker# We will try to use the config mode first, and then manual find. 4*da0073e9SAndroid Build Coastguard Workerfind_package(glog CONFIG QUIET) 5*da0073e9SAndroid Build Coastguard Workerif(NOT TARGET glog::glog) 6*da0073e9SAndroid Build Coastguard Worker find_package(glog MODULE QUIET) 7*da0073e9SAndroid Build Coastguard Workerendif() 8*da0073e9SAndroid Build Coastguard Worker 9*da0073e9SAndroid Build Coastguard Workerif(TARGET glog::glog) 10*da0073e9SAndroid Build Coastguard Worker message(STATUS "Caffe2: Found glog with new-style glog target.") 11*da0073e9SAndroid Build Coastguard Workerelseif(GLOG_FOUND) 12*da0073e9SAndroid Build Coastguard Worker message( 13*da0073e9SAndroid Build Coastguard Worker STATUS 14*da0073e9SAndroid Build Coastguard Worker "Caffe2: Found glog with old-style glog starget. Glog never shipped " 15*da0073e9SAndroid Build Coastguard Worker "old style glog targets, so somewhere in your cmake path there might " 16*da0073e9SAndroid Build Coastguard Worker "be a custom Findglog.cmake file that got triggered. We will make a " 17*da0073e9SAndroid Build Coastguard Worker "best effort to create the new style glog target for you.") 18*da0073e9SAndroid Build Coastguard Worker add_library(glog::glog UNKNOWN IMPORTED) 19*da0073e9SAndroid Build Coastguard Worker set_property( 20*da0073e9SAndroid Build Coastguard Worker TARGET glog::glog PROPERTY IMPORTED_LOCATION ${GLOG_LIBRARY}) 21*da0073e9SAndroid Build Coastguard Worker set_property( 22*da0073e9SAndroid Build Coastguard Worker TARGET glog::glog PROPERTY INTERFACE_INCLUDE_DIRECTORIES 23*da0073e9SAndroid Build Coastguard Worker ${GLOG_INCLUDE_DIR}) 24*da0073e9SAndroid Build Coastguard Workerelse() 25*da0073e9SAndroid Build Coastguard Worker message(STATUS "Caffe2: Cannot find glog automatically. Using legacy find.") 26*da0073e9SAndroid Build Coastguard Worker 27*da0073e9SAndroid Build Coastguard Worker # - Try to find Glog 28*da0073e9SAndroid Build Coastguard Worker # 29*da0073e9SAndroid Build Coastguard Worker # The following variables are optionally searched for defaults 30*da0073e9SAndroid Build Coastguard Worker # GLOG_ROOT_DIR: Base directory where all GLOG components are found 31*da0073e9SAndroid Build Coastguard Worker # 32*da0073e9SAndroid Build Coastguard Worker # The following are set after configuration is done: 33*da0073e9SAndroid Build Coastguard Worker # GLOG_FOUND 34*da0073e9SAndroid Build Coastguard Worker # GLOG_INCLUDE_DIRS 35*da0073e9SAndroid Build Coastguard Worker # GLOG_LIBRARIES 36*da0073e9SAndroid Build Coastguard Worker # GLOG_LIBRARYRARY_DIRS 37*da0073e9SAndroid Build Coastguard Worker 38*da0073e9SAndroid Build Coastguard Worker include(FindPackageHandleStandardArgs) 39*da0073e9SAndroid Build Coastguard Worker set(GLOG_ROOT_DIR "" CACHE PATH "Folder contains Google glog") 40*da0073e9SAndroid Build Coastguard Worker if(NOT WIN32) 41*da0073e9SAndroid Build Coastguard Worker find_path(GLOG_INCLUDE_DIR glog/logging.h 42*da0073e9SAndroid Build Coastguard Worker PATHS ${GLOG_ROOT_DIR}) 43*da0073e9SAndroid Build Coastguard Worker endif() 44*da0073e9SAndroid Build Coastguard Worker 45*da0073e9SAndroid Build Coastguard Worker find_library(GLOG_LIBRARY glog 46*da0073e9SAndroid Build Coastguard Worker PATHS ${GLOG_ROOT_DIR} 47*da0073e9SAndroid Build Coastguard Worker PATH_SUFFIXES lib lib64) 48*da0073e9SAndroid Build Coastguard Worker 49*da0073e9SAndroid Build Coastguard Worker find_package_handle_standard_args(glog DEFAULT_MSG GLOG_INCLUDE_DIR GLOG_LIBRARY) 50*da0073e9SAndroid Build Coastguard Worker 51*da0073e9SAndroid Build Coastguard Worker if(GLOG_FOUND) 52*da0073e9SAndroid Build Coastguard Worker message(STATUS 53*da0073e9SAndroid Build Coastguard Worker "Caffe2: Found glog (include: ${GLOG_INCLUDE_DIR}, " 54*da0073e9SAndroid Build Coastguard Worker "library: ${GLOG_LIBRARY})") 55*da0073e9SAndroid Build Coastguard Worker add_library(glog::glog UNKNOWN IMPORTED) 56*da0073e9SAndroid Build Coastguard Worker set_property( 57*da0073e9SAndroid Build Coastguard Worker TARGET glog::glog PROPERTY IMPORTED_LOCATION ${GLOG_LIBRARY}) 58*da0073e9SAndroid Build Coastguard Worker set_property( 59*da0073e9SAndroid Build Coastguard Worker TARGET glog::glog PROPERTY INTERFACE_INCLUDE_DIRECTORIES 60*da0073e9SAndroid Build Coastguard Worker ${GLOG_INCLUDE_DIR}) 61*da0073e9SAndroid Build Coastguard Worker endif() 62*da0073e9SAndroid Build Coastguard Workerendif() 63*da0073e9SAndroid Build Coastguard Worker 64*da0073e9SAndroid Build Coastguard Worker# After above, we should have the glog::glog target now. 65*da0073e9SAndroid Build Coastguard Workerif(NOT TARGET glog::glog) 66*da0073e9SAndroid Build Coastguard Worker message(WARNING 67*da0073e9SAndroid Build Coastguard Worker "Caffe2: glog cannot be found. Depending on whether you are building " 68*da0073e9SAndroid Build Coastguard Worker "Caffe2 or a Caffe2 dependent library, the next warning / error will " 69*da0073e9SAndroid Build Coastguard Worker "give you more info.") 70*da0073e9SAndroid Build Coastguard Workerendif() 71