|  | if(BUILD_CAFFE2) | 
|  | file(GLOB Caffe2_PROTOBUF_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*.proto") | 
|  | else() | 
|  | set(Caffe2_PROTOBUF_FILES "${CMAKE_CURRENT_SOURCE_DIR}/torch.proto;${CMAKE_CURRENT_SOURCE_DIR}/caffe2.proto") | 
|  | endif() | 
|  |  | 
|  | caffe2_protobuf_generate_cpp_py(Caffe2_PROTO_SRCS Caffe2_PROTO_HEADERS Caffe2_PROTO_PY ${Caffe2_PROTOBUF_FILES}) | 
|  |  | 
|  | add_library(Caffe2_PROTO OBJECT ${Caffe2_PROTO_HEADERS} ${Caffe2_PROTO_SRCS}) | 
|  |  | 
|  | if(MSVC) | 
|  | if(BUILD_SHARED_LIBS) | 
|  | set(TORCH_API_DEFINE "-DTORCH_API=__declspec(dllexport)") | 
|  | else() | 
|  | set(TORCH_API_DEFINE "-DTORCH_API=") | 
|  | endif() | 
|  | else() | 
|  | set(TORCH_API_DEFINE "-DTORCH_API=") | 
|  | endif() | 
|  | target_compile_definitions( | 
|  | Caffe2_PROTO PRIVATE ${TORCH_API_DEFINE}) | 
|  |  | 
|  | install(FILES ${Caffe2_PROTO_HEADERS} DESTINATION include/caffe2/proto) |