CMakeLists.txt 849 字节
Newer Older
Y
Yu Yang 已提交
1
file(GLOB proto_filenames . *.proto)
Y
Yu Yang 已提交
2
include_directories(${CMAKE_CURRENT_BINARY_DIR})
Y
Yu Yang 已提交
3
proto_library(paddle_proto SRCS ${proto_filenames})
Y
Yu Yang 已提交
4 5 6 7 8

set(PROTO_GEN)
set(PROTO_GEN_PY)

foreach(filename ${proto_filenames})
Y
Yu Yang 已提交
9 10
    get_filename_component(ABS_FIL ${filename} ABSOLUTE)
    get_filename_component(FIL_WE ${filename} NAME_WE)
Y
Yu Yang 已提交
11
    set(CUR_PROTO_GEN_PY
12
            ${PADDLE_SOURCE_DIR}/paddle/python/paddle/proto/${FIL_WE}_pb2.py)
Y
Yu Yang 已提交
13 14 15 16
    set(PROTO_GEN_PY
            ${CUR_PROTO_GEN_PY}
            ${PROTO_GEN_PY})
    add_custom_command(OUTPUT ${CUR_PROTO_GEN_PY}
Y
Yu Yang 已提交
17
            COMMAND ${PROTOBUF_PROTOC_EXECUTABLE}
18
            ARGS "--python_out=${PADDLE_SOURCE_DIR}/python/paddle/proto"
Y
Yu Yang 已提交
19
            "-I" ${CMAKE_CURRENT_SOURCE_DIR} ${ABS_FIL}
L
Luo Tao 已提交
20
            DEPENDS ${ABS_FIL} protoc)
Y
Yu Yang 已提交
21 22 23
endforeach()

add_custom_target(gen_proto_py ALL DEPENDS ${PROTO_GEN_PY})