Find Caffe as its own target.

This commit is contained in:
2018-03-19 14:52:45 +01:00
parent a1d7b4cd5d
commit c6d83568ee
2 changed files with 25 additions and 21 deletions

View File

@@ -13,8 +13,7 @@ set (Caffe_DIR "" CACHE STRING
"Custom location of the root directory of a Caffe installation")
find_path(Caffe_INCLUDE_DIR
NAMES caffe.hpp
PATH_SUFFIXES include/caffe caffe
NAMES caffe/caffe.hpp
PATHS ${Caffe_DIR}
DOC "The directory where caffe.hpp resides")
@@ -24,6 +23,19 @@ find_library(Caffe_LIBRARY
PATHS ${Caffe_DIR}
DOC "The Caffe library")
find_package(OpenCV REQUIRED)
find_package(Glog REQUIRED)
find_package(Boost 1.55 REQUIRED COMPONENTS system)
find_package(CUDA)
if (CUDA_FOUND)
message("CUDA found, enabling support")
set(Caffe_ADDITIONAL_LIBS CUDA::CUDA)
else()
message("No CUDA, compiling CPU-only mode")
set(Caffe_DEFINITIONS "CPU_ONLY")
endif()
# handle the QUIETLY and REQUIRED arguments and set CAFFE_FOUND to TRUE if
# all listed variables are TRUE
@@ -33,8 +45,16 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(Caffe
Caffe_LIBRARY Caffe_INCLUDE_DIR)
if (CAFFE_FOUND)
set(Caffe_LIBRARIES ${Caffe_LIBRARY})
set(Caffe_INCLUDE_DIRS ${Caffe_INCLUDE_DIR})
add_library(Caffe::Caffe UNKNOWN IMPORTED)
set_target_properties(Caffe::Caffe PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "${Caffe_DEFINITIONS}"
INTERFACE_INCLUDE_DIRECTORIES "${Caffe_INCLUDE_DIR};${OpenCV_INCLUDE_DIRS}"
IMPORTED_LOCATION "${Caffe_LIBRARY}"
INTERFACE_LINK_LIBRARIES "Glog::Glog;Boost::system;${OpenCV_LIBRARIES};${Caffe_ADDITIONAL_LIBS}"
)
set(Caffe_LIBRARIES ${Caffe_LIBRARY})
set(Caffe_INCLUDE_DIRS ${Caffe_INCLUDE_DIR})
endif(CAFFE_FOUND)
mark_as_advanced(