提交 0e6a18be 编写于 作者: G gangliao 提交者: GitHub

Merge pull request #2339 from wangkuiyi/move_majel_tests

Move majel/test/* to majel/; Update generic.cmake
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve. # Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
# You may obtain a copy of the License at # You may obtain a copy of the License at
# #
# http://www.apache.org/licenses/LICENSE-2.0 # http://www.apache.org/licenses/LICENSE-2.0
# #
# Unless required by applicable law or agreed to in writing, software # Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, # distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
# To simplify the build process of PaddlePaddle, we defined couple of # To simplify the build process of PaddlePaddle, we defined couple of
# fundamental abstractions, e.g., how to build library, binary and # fundamental abstractions, e.g., how to build library, binary and
# test in C++, CUDA and Go. # test in C++, CUDA and Go.
# #
# ------------------------------------------- # -------------------------------------------
# C++ CUDA C++ Go # C++ CUDA C++ Go
# ------------------------------------------- # -------------------------------------------
...@@ -47,7 +47,7 @@ function(link_gtest TARGET_NAME) ...@@ -47,7 +47,7 @@ function(link_gtest TARGET_NAME)
add_dependencies(${TARGET_NAME} gtest) add_dependencies(${TARGET_NAME} gtest)
endfunction() endfunction()
# cc_library parses tensor.cc and figures out that target also depend on tensor.h. # cc_library parses tensor.cc and figures out that target also depend on tensor.h.
# cc_library(tensor # cc_library(tensor
# SRCS # SRCS
...@@ -79,7 +79,7 @@ function(cc_binary TARGET_NAME) ...@@ -79,7 +79,7 @@ function(cc_binary TARGET_NAME)
set(multiValueArgs SRCS DEPS) set(multiValueArgs SRCS DEPS)
cmake_parse_arguments(cc_binary "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) cmake_parse_arguments(cc_binary "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
add_executable(${TARGET_NAME} ${cc_binary_SRCS}) add_executable(${TARGET_NAME} ${cc_binary_SRCS})
if(cc_binary_DEPS) if(cc_binary_DEPS)
target_link_libraries(${TARGET_NAME} ${cc_binary_DEPS}) target_link_libraries(${TARGET_NAME} ${cc_binary_DEPS})
add_dependencies(${TARGET_NAME} ${cc_binary_DEPS}) add_dependencies(${TARGET_NAME} ${cc_binary_DEPS})
endif() endif()
...@@ -94,18 +94,20 @@ endfunction(cc_binary) ...@@ -94,18 +94,20 @@ endfunction(cc_binary)
# DEPS # DEPS
# tensor) # tensor)
function(cc_test TARGET_NAME) function(cc_test TARGET_NAME)
set(options "") if(WITH_TESTING)
set(oneValueArgs "") set(options "")
set(multiValueArgs SRCS DEPS) set(oneValueArgs "")
cmake_parse_arguments(cc_test "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) set(multiValueArgs SRCS DEPS)
add_executable(${TARGET_NAME} ${cc_test_SRCS}) cmake_parse_arguments(cc_test "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(cc_test_DEPS) add_executable(${TARGET_NAME} ${cc_test_SRCS})
target_link_libraries(${TARGET_NAME} ${cc_test_DEPS}) if(cc_test_DEPS)
add_dependencies(${TARGET_NAME} ${cc_test_DEPS}) target_link_libraries(${TARGET_NAME} ${cc_test_DEPS})
add_dependencies(${TARGET_NAME} ${cc_test_DEPS})
endif()
link_glog_gflags(${TARGET_NAME})
link_gtest(${TARGET_NAME})
add_test(${TARGET_NAME} ${TARGET_NAME})
endif() endif()
link_glog_gflags(${TARGET_NAME})
link_gtest(${TARGET_NAME})
add_test(${TARGET_NAME} ${TARGET_NAME})
endfunction(cc_test) endfunction(cc_test)
# Suppose that ops.cu includes global functions that take Tensor as # Suppose that ops.cu includes global functions that take Tensor as
...@@ -117,31 +119,35 @@ endfunction(cc_test) ...@@ -117,31 +119,35 @@ endfunction(cc_test)
# DEPS # DEPS
# tensor) # tensor)
function(nv_library TARGET_NAME) function(nv_library TARGET_NAME)
set(options OPTIONAL) if (WITH_GPU)
set(oneValueArgs "") set(options OPTIONAL)
set(multiValueArgs SRCS DEPS) set(oneValueArgs "")
cmake_parse_arguments(nv_library "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) set(multiValueArgs SRCS DEPS)
if (${nv_library_OPTIONAL} STREQUAL "SHARED") cmake_parse_arguments(nv_library "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
cuda_add_library(${TARGET_NAME} SHARED ${nv_library_SRCS}) if (${nv_library_OPTIONAL} STREQUAL "SHARED")
else() cuda_add_library(${TARGET_NAME} SHARED ${nv_library_SRCS})
cuda_add_library(${TARGET_NAME} STATIC ${nv_library_SRCS}) else()
endif() cuda_add_library(${TARGET_NAME} STATIC ${nv_library_SRCS})
if (nv_library_DEPS) endif()
add_dependencies(${TARGET_NAME} ${nv_library_DEPS}) if (nv_library_DEPS)
add_dependencies(${TARGET_NAME} ${nv_library_DEPS})
endif()
endif() endif()
endfunction(nv_library) endfunction(nv_library)
function(nv_binary TARGET_NAME) function(nv_binary TARGET_NAME)
set(options "") if (WITH_GPU)
set(oneValueArgs "") set(options "")
set(multiValueArgs SRCS DEPS) set(oneValueArgs "")
cmake_parse_arguments(nv_binary "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) set(multiValueArgs SRCS DEPS)
cuda_add_executable(${TARGET_NAME} ${nv_binary_SRCS}) cmake_parse_arguments(nv_binary "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(nv_binary_DEPS) cuda_add_executable(${TARGET_NAME} ${nv_binary_SRCS})
target_link_libraries(${TARGET_NAME} ${nv_binary_DEPS}) if(nv_binary_DEPS)
add_dependencies(${TARGET_NAME} ${nv_binary_DEPS}) target_link_libraries(${TARGET_NAME} ${nv_binary_DEPS})
add_dependencies(${TARGET_NAME} ${nv_binary_DEPS})
endif()
link_glog_gflags(${TARGET_NAME})
endif() endif()
link_glog_gflags(${TARGET_NAME})
endfunction(nv_binary) endfunction(nv_binary)
# The dependency to target tensor implies that if any of # The dependency to target tensor implies that if any of
...@@ -152,18 +158,20 @@ endfunction(nv_binary) ...@@ -152,18 +158,20 @@ endfunction(nv_binary)
# DEPS # DEPS
# ops) # ops)
function(nv_test TARGET_NAME) function(nv_test TARGET_NAME)
set(options "") if (WITH_GPU AND WITH_TESTING)
set(oneValueArgs "") set(options "")
set(multiValueArgs SRCS DEPS) set(oneValueArgs "")
cmake_parse_arguments(nv_test "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) set(multiValueArgs SRCS DEPS)
cuda_add_executable(${TARGET_NAME} ${nv_test_SRCS}) cmake_parse_arguments(nv_test "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(nv_test_DEPS) cuda_add_executable(${TARGET_NAME} ${nv_test_SRCS})
target_link_libraries(${TARGET_NAME} ${nv_test_DEPS}) if(nv_test_DEPS)
add_dependencies(${TARGET_NAME} ${nv_test_DEPS}) target_link_libraries(${TARGET_NAME} ${nv_test_DEPS})
add_dependencies(${TARGET_NAME} ${nv_test_DEPS})
endif()
link_glog_gflags(${TARGET_NAME})
link_gtest(${TARGET_NAME})
add_test(${TARGET_NAME} ${TARGET_NAME})
endif() endif()
link_glog_gflags(${TARGET_NAME})
link_gtest(${TARGET_NAME})
add_test(${TARGET_NAME} ${TARGET_NAME})
endfunction(nv_test) endfunction(nv_test)
set(GOPATH "${CMAKE_CURRENT_BINARY_DIR}/go") set(GOPATH "${CMAKE_CURRENT_BINARY_DIR}/go")
...@@ -189,7 +197,7 @@ function(go_library TARGET_NAME) ...@@ -189,7 +197,7 @@ function(go_library TARGET_NAME)
set(LIB_NAME "lib${TARGET_NAME}.dylib") set(LIB_NAME "lib${TARGET_NAME}.dylib")
else() else()
set(LIB_NAME "lib${TARGET_NAME}.so") set(LIB_NAME "lib${TARGET_NAME}.so")
endif() endif()
else() else()
set(BUILD_MODE "-buildmode=c-archive") set(BUILD_MODE "-buildmode=c-archive")
set(LIB_NAME "lib${TARGET_NAME}.a") set(LIB_NAME "lib${TARGET_NAME}.a")
...@@ -215,8 +223,8 @@ function(go_binary TARGET_NAME) ...@@ -215,8 +223,8 @@ function(go_binary TARGET_NAME)
COMMAND env GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} build COMMAND env GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} build
-o "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}" -o "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}"
${go_library_SRCS} ${go_library_SRCS}
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}) WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
add_custom_target(${TARGET_NAME} ALL DEPENDS ${TARGET_NAME}_timestamp ${go_binary_DEPS}) add_custom_target(${TARGET_NAME} ALL DEPENDS ${TARGET_NAME}_timestamp ${go_binary_DEPS})
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME} DESTINATION bin) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME} DESTINATION bin)
endfunction(go_binary) endfunction(go_binary)
...@@ -229,8 +237,8 @@ function(go_test TARGET_NAME) ...@@ -229,8 +237,8 @@ function(go_test TARGET_NAME)
COMMAND env GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} test COMMAND env GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} test
-c -o "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}" -c -o "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}"
${go_test_SRCS} ${go_test_SRCS}
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}) WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
add_custom_target(${TARGET_NAME} ALL DEPENDS ${TARGET_NAME}_timestamp ${go_test_DEPS}) add_custom_target(${TARGET_NAME} ALL DEPENDS ${TARGET_NAME}_timestamp ${go_test_DEPS})
add_test(${TARGET_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}) add_test(${TARGET_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME})
endfunction(go_test) endfunction(go_test)
......
cc_library(place SRCS place.cc) cc_library(place SRCS place.cc)
cc_test(place_test SRCS place_test.cc DEPS place)
cc_library(ddim SRCS ddim.cc) cc_library(ddim SRCS ddim.cc)
cc_test(ddim_test SRCS ddim_test.cc DEPS ddim)
if(WITH_TESTING) nv_test(cuda_test SRCS cuda_test.cu)
add_subdirectory(test) nv_test(dim_test SRCS dim_test.cu DEPS ddim)
endif()
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册