caffe

Форк
0
/
ConfigGen.cmake 
65 строк · 2.4 Кб
1

2
################################################################################################
3
# Helper function to get all list items that begin with given prefix
4
# Usage:
5
#   caffe_get_items_with_prefix(<prefix> <list_variable> <output_variable>)
6
function(caffe_get_items_with_prefix prefix list_variable output_variable)
7
  set(__result "")
8
  foreach(__e ${${list_variable}})
9
    if(__e MATCHES "^${prefix}.*")
10
      list(APPEND __result ${__e})
11
    endif()
12
  endforeach()
13
  set(${output_variable} ${__result} PARENT_SCOPE)
14
endfunction()
15

16
################################################################################################
17
# Function for generation Caffe build- and install- tree export config files
18
# Usage:
19
#  caffe_generate_export_configs()
20
function(caffe_generate_export_configs)
21
  set(install_cmake_suffix "share/Caffe")
22

23
  if(NOT HAVE_CUDA)
24
    set(HAVE_CUDA FALSE)
25
  endif()
26

27
  set(HDF5_IMPORTED OFF)
28
  foreach(_lib ${HDF5_LIBRARIES} ${HDF5_HL_LIBRARIES})
29
    if(TARGET ${_lib})
30
      set(HDF5_IMPORTED ON)
31
    endif()
32
  endforeach()
33

34
  # This code is taken from https://github.com/sh1r0/caffe-android-lib
35
  if(USE_HDF5)
36
    list(APPEND Caffe_DEFINITIONS -DUSE_HDF5)
37
  endif()
38

39
  if(NOT HAVE_CUDNN)
40
    set(HAVE_CUDNN FALSE)
41
  endif()
42

43
  # ---[ Configure build-tree CaffeConfig.cmake file ]---
44

45
  configure_file("cmake/Templates/CaffeConfig.cmake.in" "${PROJECT_BINARY_DIR}/CaffeConfig.cmake" @ONLY)
46

47
  # Add targets to the build-tree export set
48
  export(TARGETS caffe caffeproto FILE "${PROJECT_BINARY_DIR}/CaffeTargets.cmake")
49
  export(PACKAGE Caffe)
50

51
  # ---[ Configure install-tree CaffeConfig.cmake file ]---
52

53
  configure_file("cmake/Templates/CaffeConfig.cmake.in" "${PROJECT_BINARY_DIR}/cmake/CaffeConfig.cmake" @ONLY)
54

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})
58

59
  # ---[ Configure and install version file ]---
60

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
63

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})
66
endfunction()
67

68

69

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.