]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | vcpkg_check_linkage(ONLY_STATIC_LIBRARY) |
2 | ||
3 | if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86) | |
4 | message(FATAL_ERROR "Caffe2 cannot be built for the x86 architecture") | |
5 | endif() | |
6 | ||
7 | vcpkg_from_github( | |
8 | OUT_SOURCE_PATH SOURCE_PATH | |
9 | REPO caffe2/caffe2 | |
10 | REF eab13a2d5c807bf5d49efd4584787b639a981b79 | |
11 | SHA512 505a8540b0c28329c4e2ce443ac8e198c1ee613eb6b932927ee9d04c8afdc95081f3c4581408b7097d567840427b31f6d7626ea80f27e56532f2f2e6acd87023 | |
12 | HEAD_REF master | |
13 | PATCHES | |
14 | msvc-fixes.patch | |
15 | fix-space.patch | |
16 | ) | |
17 | ||
18 | if(VCPKG_CRT_LINKAGE STREQUAL static) | |
19 | set(USE_STATIC_RUNTIME ON) | |
20 | else() | |
21 | set(USE_STATIC_RUNTIME OFF) | |
22 | endif() | |
23 | ||
24 | if(CMAKE_HOST_WIN32) | |
25 | set(EXECUTABLE_SUFFIX ".exe") | |
26 | else() | |
27 | set(EXECUTABLE_SUFFIX "") | |
28 | endif() | |
29 | ||
30 | vcpkg_configure_cmake( | |
31 | SOURCE_PATH ${SOURCE_PATH} | |
32 | PREFER_NINJA | |
33 | OPTIONS | |
34 | # Set to ON to use python | |
35 | -DBUILD_PYTHON=OFF | |
36 | -DUSE_STATIC_RUNTIME=${USE_STATIC_RUNTIME} | |
37 | -DUSE_GFLAGS=ON | |
38 | -DUSE_GLOG=ON | |
39 | # Cannot use OpenCV without USE_CUDA=ON right now | |
40 | -DUSE_OPENCV=OFF | |
41 | -DUSE_THREADS=ON | |
42 | # Uncomment to use MKL | |
43 | # -DBLAS=MKL | |
44 | -DUSE_CUDA=OFF | |
45 | -DUSE_FFMPEG=OFF | |
46 | -DUSE_GLOO=OFF | |
47 | -DUSE_LEVELDB=OFF | |
48 | -DUSE_LITE_PROTO=OFF | |
49 | -DUSE_METAL=OFF | |
50 | -DUSE_MOBILE_OPENGL=OFF | |
51 | -DUSE_MPI=OFF | |
52 | -DUSE_NCCL=OFF | |
53 | -DUSE_NERVANA_GPU=OFF | |
54 | -DUSE_NNPACK=OFF | |
55 | -DUSE_OBSERVERS=OFF | |
56 | -DUSE_OPENMP=ON | |
57 | -DUSE_REDIS=OFF | |
58 | -DUSE_ROCKSDB=OFF | |
59 | -DUSE_SNPE=OFF | |
60 | -DUSE_ZMQ=OFF | |
61 | -DBUILD_TEST=OFF | |
62 | -DPROTOBUF_PROTOC_EXECUTABLE:FILEPATH=${CURRENT_INSTALLED_DIR}/tools/protobuf/protoc${EXECUTABLE_SUFFIX} | |
63 | ) | |
64 | ||
65 | vcpkg_install_cmake() | |
66 | ||
67 | # Remove folders from install | |
68 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/caffe) | |
69 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/caffe2) | |
70 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/caffe) | |
71 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/caffe2) | |
72 | ||
73 | # Remove empty directories from include (should probably fix or | |
74 | # patch caffe2 install script) | |
75 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/test) | |
76 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/python) | |
77 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/experiments/python) | |
78 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/contrib/opengl) | |
79 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/contrib/nnpack) | |
80 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/contrib/libopencl-stub) | |
81 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/contrib/docker-ubuntu-14.04) | |
82 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/binaries) | |
83 | ||
84 | # Move bin to tools | |
85 | file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) | |
86 | file(GLOB BINARIES ${CURRENT_PACKAGES_DIR}/bin/*${EXECUTABLE_SUFFIX}) | |
87 | foreach(binary ${BINARIES}) | |
88 | get_filename_component(binary_name ${binary} NAME) | |
89 | file(RENAME ${binary} ${CURRENT_PACKAGES_DIR}/tools/${binary_name}) | |
90 | endforeach() | |
91 | ||
92 | # Remove bin directory | |
93 | if(VCPKG_LIBRARY_LINKAGE STREQUAL static) | |
94 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) | |
95 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) | |
96 | endif() | |
97 | ||
98 | # Remove headers and tools from debug build | |
99 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) | |
100 | ||
101 | # install license | |
102 | file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/caffe2) | |
103 | file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/caffe2 RENAME copyright) | |
104 | ||
105 | vcpkg_copy_pdbs() |