summaryrefslogtreecommitdiff
path: root/infra/nncc/cmake/packages/CaffeConfig.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'infra/nncc/cmake/packages/CaffeConfig.cmake')
-rw-r--r--infra/nncc/cmake/packages/CaffeConfig.cmake62
1 files changed, 62 insertions, 0 deletions
diff --git a/infra/nncc/cmake/packages/CaffeConfig.cmake b/infra/nncc/cmake/packages/CaffeConfig.cmake
new file mode 100644
index 000000000..7b5eb2f2e
--- /dev/null
+++ b/infra/nncc/cmake/packages/CaffeConfig.cmake
@@ -0,0 +1,62 @@
+function(_Caffe_import)
+ nncc_find_package(CaffeSource QUIET)
+
+ if(NOT CaffeSource_FOUND)
+ set(Caffe_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif(NOT CaffeSource_FOUND)
+
+ nncc_find_package(CaffeProto QUIET)
+
+ if(NOT CaffeProto_FOUND)
+ set(Caffe_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif()
+
+ find_package(Boost 1.54 COMPONENTS system thread filesystem QUIET)
+
+ if(NOT Boost_FOUND)
+ set(Caffe_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif()
+
+ find_package(HDF5 COMPONENTS HL QUIET)
+
+ if(NOT HDF5_FOUND)
+ set(Caffe_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif()
+
+ list(APPEND CMAKE_MODULE_PATH ${CaffeSource_DIR}/cmake/Modules)
+
+ find_package(Atlas QUIET)
+
+ if(NOT ATLAS_FOUND)
+ set(Caffe_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif()
+
+ nncc_find_package(GLog QUIET)
+
+ if(NOT GLog_FOUND)
+ set(Caffe_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif()
+
+ nncc_find_package(GFlags QUIET)
+
+ if(NOT GFlags_FOUND)
+ set(Caffe_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif()
+
+ if(NOT TARGET caffe)
+ nncc_include(ExternalProjectTools)
+ add_extdirectory("${CMAKE_CURRENT_LIST_DIR}/Caffe" caffe)
+ message(STATUS "Found Caffe: TRUE")
+ endif(NOT TARGET caffe)
+
+ set(Caffe_FOUND TRUE PARENT_SCOPE)
+endfunction(_Caffe_import)
+
+_Caffe_import()