You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 2.0 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-parameter")
  2. set(MGB_TEST_DIR ${PROJECT_SOURCE_DIR}/test/src)
  3. file(GLOB_RECURSE SOURCES ../src/test/*.cpp ../src/impl/*.cpp ${MGB_TEST_DIR}/*.cpp)
  4. # disable distributed tests
  5. if(NOT MGE_WITH_DISTRIBUTED)
  6. list(FILTER SOURCES EXCLUDE REGEX ".*test/collective_comm.cpp")
  7. list(FILTER SOURCES EXCLUDE REGEX ".*test/io_remote.cpp")
  8. endif()
  9. # TODO: turn python binding into a static/object library
  10. add_executable(imperative_test ${SOURCES} ${SRCS})
  11. add_dependencies(imperative_test mgb_opdef)
  12. target_include_directories(imperative_test PRIVATE ${MGB_TEST_DIR}/include
  13. ../src/include ${CPP_REDIS_INCLUDES})
  14. target_link_libraries(imperative_test mgb_opdef_inc)
  15. # Python binding
  16. target_include_directories(
  17. imperative_test PRIVATE ${MODULE_SRC_INCLUDE} ${PYTHON_INCLUDE_DIRS}
  18. ${NUMPY_INCLUDE_DIR})
  19. target_compile_definitions(imperative_test PRIVATE MODULE_NAME=C)
  20. target_compile_options(imperative_test PRIVATE -Wno-unused-parameter)
  21. set(LINK_LIBS
  22. megbrain
  23. megdnn
  24. ${MGE_CUDA_LIBS}
  25. gtest
  26. gmock
  27. pybind11::embed
  28. range-v3
  29. nlohmann_json::nlohmann_json)
  30. if(MGE_WITH_CUDA)
  31. list(APPEND LINK_LIBS cudart)
  32. endif()
  33. if(MGE_WITH_CUPTI)
  34. list(APPEND LINK_LIBS libcupti)
  35. endif()
  36. if(MGE_WITH_DISTRIBUTED)
  37. list(APPEND LINK_LIBS megray)
  38. endif()
  39. target_link_libraries(imperative_test ${LINK_LIBS})
  40. if(CXX_SUPPORT_WCLASS_MEMACCESS)
  41. if(MGE_WITH_CUDA)
  42. target_compile_options(
  43. imperative_test
  44. PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=-Wno-class-memaccess>"
  45. "$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-Wno-class-memaccess>")
  46. else()
  47. target_compile_options(imperative_test PRIVATE "-Wno-class-memaccess")
  48. endif()
  49. endif()
  50. if(UNIX)
  51. if(APPLE OR ANDROID)
  52. target_link_libraries(imperative_test dl)
  53. else()
  54. target_link_libraries(imperative_test dl rt)
  55. endif()
  56. endif()
  57. install(TARGETS imperative_test RUNTIME DESTINATION test)