2
################################################################################################
3
# Helper function to get all list items that begin with given prefix
5
# caffe_get_items_with_prefix(<prefix> <list_variable> <output_variable>)
6
function(caffe_get_items_with_prefix prefix list_variable output_variable)
8
foreach(__e ${${list_variable}})
9
if(__e MATCHES "^${prefix}.*")
10
list(APPEND __result ${__e})
13
set(${output_variable} ${__result} PARENT_SCOPE)
16
################################################################################################
17
# Function for generation Caffe build- and install- tree export config files
19
# caffe_generate_export_configs()
20
function(caffe_generate_export_configs)
21
set(install_cmake_suffix "share/Caffe")
27
set(HDF5_IMPORTED OFF)
28
foreach(_lib ${HDF5_LIBRARIES} ${HDF5_HL_LIBRARIES})
34
# This code is taken from https://github.com/sh1r0/caffe-android-lib
36
list(APPEND Caffe_DEFINITIONS -DUSE_HDF5)
43
# ---[ Configure build-tree CaffeConfig.cmake file ]---
45
configure_file("cmake/Templates/CaffeConfig.cmake.in" "${PROJECT_BINARY_DIR}/CaffeConfig.cmake" @ONLY)
47
# Add targets to the build-tree export set
48
export(TARGETS caffe caffeproto FILE "${PROJECT_BINARY_DIR}/CaffeTargets.cmake")
51
# ---[ Configure install-tree CaffeConfig.cmake file ]---
53
configure_file("cmake/Templates/CaffeConfig.cmake.in" "${PROJECT_BINARY_DIR}/cmake/CaffeConfig.cmake" @ONLY)
55
# Install the CaffeConfig.cmake and export set to use with install-tree
56
install(FILES "${PROJECT_BINARY_DIR}/cmake/CaffeConfig.cmake" DESTINATION ${install_cmake_suffix})
57
install(EXPORT CaffeTargets DESTINATION ${install_cmake_suffix})
59
# ---[ Configure and install version file ]---
61
# TODO: Lines below are commented because Caffe doesn't declare its version in headers.
62
# When the declarations are added, modify `caffe_extract_caffe_version()` macro and uncomment
64
# configure_file(cmake/Templates/CaffeConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/CaffeConfigVersion.cmake" @ONLY)
65
# install(FILES "${PROJECT_BINARY_DIR}/CaffeConfigVersion.cmake" DESTINATION ${install_cmake_suffix})