@@ -194,7 +194,7 @@ function(cc_test TARGET_NAME)
194194 add_executable (${TARGET_NAME} ${cc_test_SRCS} )
195195 target_link_libraries (${TARGET_NAME} ${cc_test_DEPS} gtest gtest_main )
196196 add_dependencies (${TARGET_NAME} ${cc_test_DEPS} gtest gtest_main )
197- add_test (${TARGET_NAME} ${TARGET_NAME} )
197+ add_test (NAME ${TARGET_NAME} COMMAND ${TARGET_NAME} WORKING_DIRECTORY ${ CMAKE_CURRENT_SOURCE_DIR } )
198198 endif ()
199199endfunction (cc_test )
200200
@@ -281,10 +281,11 @@ function(go_library TARGET_NAME)
281281
282282 file (GLOB GO_SOURCE RELATIVE "${CMAKE_CURRENT_SOURCE_DIR } " "*.go" )
283283 string (REPLACE "${PADDLE_GO_PATH} /" "" CMAKE_CURRENT_SOURCE_REL_DIR ${CMAKE_CURRENT_SOURCE_DIR } )
284+ # FIXME: link path
284285 add_custom_command (TARGET ${TARGET_NAME} POST_BUILD
285286 COMMAND rm "${${TARGET_NAME} _LIB_PATH}"
286287 # Golang build source code
287- COMMAND env GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} build ${BUILD_MODE}
288+ COMMAND GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} build ${BUILD_MODE}
288289 -o "${${TARGET_NAME} _LIB_PATH}"
289290 "./${CMAKE_CURRENT_SOURCE_REL_DIR} /${GO_SOURCE} "
290291 # must run under GOPATH
@@ -299,11 +300,13 @@ function(go_binary TARGET_NAME)
299300 cmake_parse_arguments (go_binary "${options} " "${oneValueArgs} " "${multiValueArgs} " ${ARGN} )
300301 string (REPLACE "${PADDLE_GO_PATH} /" "" CMAKE_CURRENT_SOURCE_REL_DIR ${CMAKE_CURRENT_SOURCE_DIR } )
301302
303+ # FIXME: link path
302304 add_custom_command (OUTPUT ${TARGET_NAME} _timestamp
303- COMMAND env GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} build
305+ COMMAND env LIBRARY_PATH =${CMAKE_BINARY_DIR}/go/pserver/client/c/:$ENV{LIBRARY_PATH}
306+ GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} build
304307 -o "${CMAKE_CURRENT_BINARY_DIR } /${TARGET_NAME} "
305308 "./${CMAKE_CURRENT_SOURCE_REL_DIR} /${go_binary_SRCS} "
306- WORKING_DIRECTORY "${PADDLE_IN_GOPATH} /go" )
309+ WORKING_DIRECTORY "${PADDLE_IN_GOPATH} /go" )
307310 # TODO: don't know what ${TARGET_NAME}_link does
308311 add_custom_target (${TARGET_NAME} ALL DEPENDS go_vendor ${TARGET_NAME} _timestamp ${go_binary_DEPS} )
309312 install (PROGRAMS ${CMAKE_CURRENT_BINARY_DIR } /${TARGET_NAME} DESTINATION bin)
@@ -332,3 +335,12 @@ function(proto_library TARGET_NAME)
332335 protobuf_generate_cpp (proto_srcs proto_hdrs ${proto_library_SRCS} )
333336 cc_library (${TARGET_NAME} SRCS ${proto_srcs} DEPS ${proto_library_DEPS} protobuf )
334337endfunction ()
338+
339+ function (py_proto_compile TARGET_NAME )
340+ set (oneValueArgs "" )
341+ set (multiValueArgs SRCS)
342+ cmake_parse_arguments (py_proto_compile "${options} " "${oneValueArgs} " "${multiValueArgs} " ${ARGN} )
343+ set (py_srcs)
344+ protobuf_generate_python (py_srcs ${py_proto_compile_SRCS} )
345+ add_custom_target (${TARGET_NAME} ALL DEPENDS ${py_srcs} )
346+ endfunction ()
0 commit comments