# generate protobuf sources file(GLOB proto_files proto/*.proto) caffe_protobuf_generate_cpp_py(${proto_gen_folder} proto_srcs proto_hdrs proto_python ${proto_files}) # include python files either to force generation add_library(proto STATIC ${proto_hdrs} ${proto_srcs} ${proto_python}) set(Caffe_LINKER_LIBS proto ${Caffe_LINKER_LIBS}) # note, crucial to prepend! caffe_default_properties(proto) # --[ Caffe library # creates 'test_srcs', 'srcs', 'test_cuda', 'cuda' lists caffe_pickup_caffe_sources(${PROJECT_SOURCE_DIR}) if(HAVE_CUDA) caffe_cuda_compile(cuda_objs ${cuda}) list(APPEND srcs ${cuda_objs} ${cuda}) endif() add_library(caffe ${srcs}) target_link_libraries(caffe proto ${Caffe_LINKER_LIBS}) caffe_default_properties(caffe) set_target_properties(caffe PROPERTIES VERSION ${CAFFE_TARGET_VERSION} SOVERSION ${CAFFE_TARGET_SOVERSION} ) # ---[ Tests add_subdirectory(test) # ---[ Install install(DIRECTORY ${Caffe_INCLUDE_DIR}/caffe DESTINATION include) install(FILES ${proto_hdrs} DESTINATION include/caffe/proto) install(TARGETS caffe proto EXPORT CaffeTargets DESTINATION lib) file(WRITE ${PROJECT_BINARY_DIR}/__init__.py) list(APPEND proto_python ${PROJECT_BINARY_DIR}/__init__.py) install(PROGRAMS ${proto_python} DESTINATION python/caffe/proto)