FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Caffe-HRT/CMakeLists.txt at master · liaoheping/Caffe-HRT · GitHub
liaoheping
Caffe-HRT
Repository navigation
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
Caffe-HRT
/
CMakeLists.txt
Copy path
More file actions
More file actions
Latest commit
History
History
History
110 lines (89 loc) · 3.8 KB
Breadcrumbs
Caffe-HRT
/
CMakeLists.txt
Copy path
File metadata and controls
110 lines (89 loc) · 3.8 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
cmake_minimum_required
(
VERSION
2.8.7
)
if
(
POLICY
CMP0046)
cmake_policy
(
SET
CMP0046
NEW
)
endif
()
if
(
POLICY
CMP0054)
cmake_policy
(
SET
CMP0054
NEW
)
endif
()
#
---[ Caffe project
project
(Caffe
C
CXX
)
#
---[ Caffe version
set
(CAFFE_TARGET_VERSION
"1.0.0-rc5"
CACHE
STRING
"Caffe logical version"
)
set
(CAFFE_TARGET_SOVERSION
"1.0.0-rc5"
CACHE
STRING
"Caffe soname version"
)
add_definitions
(
-DCAFFE_VERSION=${CAFFE_TARGET_VERSION}
)
#
---[ Using cmake scripts and modules
list
(
APPEND
CMAKE_MODULE_PATH
${
PROJECT_SOURCE_DIR
}
/cmake/Modules)
include
(
ExternalProject
)
include
(
cmake/Utils.cmake
)
include
(
cmake/Targets.cmake
)
include
(
cmake/Misc.cmake
)
include
(
cmake/Summary.cmake
)
include
(
cmake/ConfigGen.cmake
)
#
---[ Options
caffe_option
(
CPU_ONLY
"Build Caffe without CUDA support"
OFF
)
#
TODO: rename to USE_CUDA
caffe_option
(
USE_CUDNN
"Build Caffe with cuDNN library support"
ON
IF
NOT
CPU_ONLY
)
caffe_option
(
USE_NCCL
"Build Caffe with NCCL library support"
OFF
)
caffe_option
(
BUILD_SHARED_LIBS
"Build shared libraries"
ON
)
caffe_option
(
BUILD_python
"Build Python wrapper"
ON
)
set
(python_version
"2"
CACHE
STRING
"Specify which Python version to use"
)
caffe_option
(
BUILD_matlab
"Build Matlab wrapper"
OFF
IF
UNIX
OR
APPLE
)
caffe_option
(
BUILD_docs
"Build documentation"
ON
IF
UNIX
OR
APPLE
)
caffe_option
(
BUILD_python_layer
"Build the Caffe Python layer"
ON
)
caffe_option
(
USE_OPENCV
"Build with OpenCV support"
ON
)
caffe_option
(
USE_LEVELDB
"Build with levelDB"
ON
)
caffe_option
(
USE_LMDB
"Build with lmdb"
ON
)
caffe_option
(
ALLOW_LMDB_NOLOCK
"Allow MDB_NOLOCK when reading LMDB files (only if necessary)"
OFF
)
caffe_option
(
USE_OPENMP
"Link with OpenMP (when your BLAS wants OpenMP and you get linker errors)"
OFF
)
#
---[ Dependencies
include
(
cmake/Dependencies.cmake
)
#
---[ Flags
if
(
UNIX
OR
APPLE
)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-fPIC -Wall"
)
endif
()
caffe_set_caffe_link
()
if
(USE_libstdcpp)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-stdlib=libstdc++"
)
message
(
"-- Warning: forcing libstdc++ (controlled by USE_libstdcpp option in cmake)"
)
endif
()
#
---[ Warnings
caffe_warnings_disable
(
CMAKE_CXX_FLAGS
-Wno-sign-compare
-Wno-uninitialized
)
#
---[ Config generation
configure_file
(
cmake/Templates/caffe_config.h.in
"
${
PROJECT_BINARY_DIR
}
/caffe_config.h"
)
#
---[ Includes
set
(Caffe_INCLUDE_DIR
${
PROJECT_SOURCE_DIR
}
/include)
set
(Caffe_SRC_DIR
${
PROJECT_SOURCE_DIR
}
/src)
include_directories
(
${
PROJECT_BINARY_DIR
}
)
#
---[ Includes & defines for CUDA
#
cuda_compile() does not have per-call dependencies or include pathes
#
(cuda_compile() has per-call flags, but we set them here too for clarity)
#
#
list(REMOVE_ITEM ...) invocations remove PRIVATE and PUBLIC keywords from collected definitions and include pathes
if
(HAVE_CUDA)
#
pass include pathes to cuda_include_directories()
set
(Caffe_ALL_INCLUDE_DIRS
${Caffe_INCLUDE_DIRS}
)
list
(
REMOVE_ITEM
Caffe_ALL_INCLUDE_DIRS PRIVATE PUBLIC)
cuda_include_directories
(
${Caffe_INCLUDE_DIR}
${Caffe_SRC_DIR}
${Caffe_ALL_INCLUDE_DIRS}
)
#
add definitions to nvcc flags directly
set
(Caffe_ALL_DEFINITIONS
${Caffe_DEFINITIONS}
)
list
(
REMOVE_ITEM
Caffe_ALL_DEFINITIONS PRIVATE PUBLIC)
list
(
APPEND
CUDA_NVCC_FLAGS
${Caffe_ALL_DEFINITIONS}
)
endif
()
#
---[ Subdirectories
add_subdirectory
(
src/gtest
)
add_subdirectory
(
src/caffe
)
add_subdirectory
(
tools
)
add_subdirectory
(
examples
)
add_subdirectory
(
python
)
add_subdirectory
(
matlab
)
add_subdirectory
(
docs
)
#
---[ Linter target
add_custom_target
(
lint
COMMAND
${
CMAKE_COMMAND
}
-P
${
PROJECT_SOURCE_DIR
}
/cmake/lint.cmake
)
#
---[ pytest target
if
(BUILD_python)
add_custom_target
(
pytest
COMMAND
python${python_version}
-m
unittest
discover
-s
caffe/test
WORKING_DIRECTORY
${
PROJECT_SOURCE_DIR
}
/python
)
add_dependencies
(
pytest
pycaffe
)
endif
()
#
---[ Configuration summary
caffe_print_configuration_summary
()
#
---[ Export configs generation
caffe_generate_export_configs
()
Back
|
FazBrowse Home
|
New Git URL