2 message(STATUS "Python interface is disabled or not all required dependencies found. Building without it...")
6 file(GLOB_RECURSE python_srcs ${PROJECT_SOURCE_DIR}/python/*.cpp)
8 add_library(pycaffe SHARED ${python_srcs})
9 caffe_default_properties(pycaffe)
10 set_target_properties(pycaffe PROPERTIES PREFIX "" OUTPUT_NAME "_caffe")
11 target_include_directories(pycaffe PUBLIC ${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIR})
12 target_link_libraries(pycaffe PUBLIC ${Caffe_LINK} ${PYTHON_LIBRARIES})
15 set(__linkname "${PROJECT_SOURCE_DIR}/python/caffe/_caffe.so")
16 add_custom_command(TARGET pycaffe POST_BUILD
17 COMMAND ln -sf $<TARGET_LINKER_FILE:pycaffe> "${__linkname}"
18 COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_SOURCE_DIR}/python/caffe/proto
19 COMMAND touch ${PROJECT_SOURCE_DIR}/python/caffe/proto/__init__.py
20 COMMAND cp ${proto_gen_folder}/*.py ${PROJECT_SOURCE_DIR}/python/caffe/proto/
21 COMMENT "Creating symlink ${__linkname} -> ${PROJECT_BINARY_DIR}/lib/_caffe${Caffe_POSTFIX}.so")
26 file(GLOB python_files *.py requirements.txt)
27 install(FILES ${python_files} DESTINATION python)
30 install(DIRECTORY caffe
34 PATTERN "ilsvrc_2012_mean.npy"
35 PATTERN "test" EXCLUDE
39 install(TARGETS pycaffe DESTINATION python/caffe)