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 1.9 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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(
  13. imperative_test PRIVATE ${MGB_TEST_DIR}/include ../src/include ${MGB_OPDEF_OUT_DIR}
  14. ${CPP_REDIS_INCLUDES})
  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_DISTRIBUTED)
  34. list(APPEND LINK_LIBS megray)
  35. endif()
  36. target_link_libraries(imperative_test ${LINK_LIBS})
  37. if(CXX_SUPPORT_WCLASS_MEMACCESS)
  38. if(MGE_WITH_CUDA)
  39. target_compile_options(
  40. imperative_test
  41. PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=-Wno-class-memaccess>"
  42. "$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-Wno-class-memaccess>")
  43. else()
  44. target_compile_options(imperative_test PRIVATE "-Wno-class-memaccess")
  45. endif()
  46. endif()
  47. if(UNIX)
  48. if(APPLE OR ANDROID)
  49. target_link_libraries(imperative_test dl)
  50. else()
  51. target_link_libraries(imperative_test dl rt)
  52. endif()
  53. endif()
  54. install(TARGETS imperative_test RUNTIME DESTINATION test)