|
|
|
@ -192,9 +192,9 @@ function(cc_test TARGET_NAME)
|
|
|
|
|
set(multiValueArgs SRCS DEPS)
|
|
|
|
|
cmake_parse_arguments(cc_test "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
|
|
|
|
add_executable(${TARGET_NAME} ${cc_test_SRCS})
|
|
|
|
|
target_link_libraries(${TARGET_NAME} ${cc_test_DEPS} gtest gtest_main)
|
|
|
|
|
target_link_libraries(${TARGET_NAME} ${cc_test_DEPS} gtest gtest_main -lstdc++ -lm)
|
|
|
|
|
add_dependencies(${TARGET_NAME} ${cc_test_DEPS} gtest gtest_main)
|
|
|
|
|
add_test(${TARGET_NAME} ${TARGET_NAME})
|
|
|
|
|
add_test(NAME ${TARGET_NAME} COMMAND ${TARGET_NAME} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
|
endif()
|
|
|
|
|
endfunction(cc_test)
|
|
|
|
|
|
|
|
|
@ -281,10 +281,11 @@ function(go_library TARGET_NAME)
|
|
|
|
|
|
|
|
|
|
file(GLOB GO_SOURCE RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.go")
|
|
|
|
|
string(REPLACE "${PADDLE_GO_PATH}/" "" CMAKE_CURRENT_SOURCE_REL_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
|
# FIXME: link path
|
|
|
|
|
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
|
|
|
|
|
COMMAND rm "${${TARGET_NAME}_LIB_PATH}"
|
|
|
|
|
# Golang build source code
|
|
|
|
|
COMMAND env GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} build ${BUILD_MODE}
|
|
|
|
|
COMMAND env LIBRARY_PATH=${CMAKE_BINARY_DIR}/go/pserver/client/c/:$ENV{LIBRARY_PATH} GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} build ${BUILD_MODE}
|
|
|
|
|
-o "${${TARGET_NAME}_LIB_PATH}"
|
|
|
|
|
"./${CMAKE_CURRENT_SOURCE_REL_DIR}/${GO_SOURCE}"
|
|
|
|
|
# must run under GOPATH
|
|
|
|
@ -299,11 +300,13 @@ function(go_binary TARGET_NAME)
|
|
|
|
|
cmake_parse_arguments(go_binary "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
|
|
|
|
string(REPLACE "${PADDLE_GO_PATH}/" "" CMAKE_CURRENT_SOURCE_REL_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
|
|
|
|
|
|
# FIXME: link path
|
|
|
|
|
add_custom_command(OUTPUT ${TARGET_NAME}_timestamp
|
|
|
|
|
COMMAND env GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} build
|
|
|
|
|
COMMAND env LIBRARY_PATH=${CMAKE_BINARY_DIR}/go/pserver/client/c/:$ENV{LIBRARY_PATH}
|
|
|
|
|
GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} build
|
|
|
|
|
-o "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}"
|
|
|
|
|
"./${CMAKE_CURRENT_SOURCE_REL_DIR}/${go_binary_SRCS}"
|
|
|
|
|
WORKING_DIRECTORY "${PADDLE_IN_GOPATH}/go")
|
|
|
|
|
WORKING_DIRECTORY "${PADDLE_IN_GOPATH}/go")
|
|
|
|
|
# TODO: don't know what ${TARGET_NAME}_link does
|
|
|
|
|
add_custom_target(${TARGET_NAME} ALL DEPENDS go_vendor ${TARGET_NAME}_timestamp ${go_binary_DEPS})
|
|
|
|
|
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME} DESTINATION bin)
|
|
|
|
|