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.6 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. list(APPEND OPR_PARAM_DEFS_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/opr_param_defs.py)
  2. set(OPR_PARAM_DEFS_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/scripts/gen_param_defs.py)
  3. set(OPR_PARAM_DEFS_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/include/)
  4. file(MAKE_DIRECTORY ${OPR_PARAM_DEFS_OUT_DIR}/megdnn)
  5. add_custom_command(
  6. OUTPUT ${OPR_PARAM_DEFS_OUT_DIR}/megdnn/opr_param_defs.h
  7. ${OPR_PARAM_DEFS_OUT_DIR}/megdnn/opr_param_json.h
  8. COMMAND ${PYTHON3_EXECUTABLE_WITHOUT_VERSION} ${OPR_PARAM_DEFS_SCRIPT}
  9. ${OPR_PARAM_DEFS_SRCS} ${OPR_PARAM_DEFS_OUT_DIR}/megdnn/opr_param_defs.h
  10. COMMAND
  11. ${PYTHON3_EXECUTABLE_WITHOUT_VERSION} ${OPR_PARAM_DEFS_SCRIPT}
  12. ${OPR_PARAM_DEFS_SRCS} tmp_unuse.log --write-cppjson
  13. ${OPR_PARAM_DEFS_OUT_DIR}/megdnn/opr_param_json.h
  14. DEPENDS ${OPR_PARAM_DEFS_SRCS} ${OPR_PARAM_DEFS_SCRIPT}
  15. VERBATIM)
  16. list(APPEND OPR_PARAM_DEFS_OUTS ${OPR_PARAM_DEFS_OUT_DIR}/megdnn/opr_param_defs.h
  17. ${OPR_PARAM_DEFS_OUT_DIR}/megdnn/opr_param_json.h)
  18. list(APPEND OPR_PARAM_DEFS_INC ${OPR_PARAM_DEFS_OUT_DIR})
  19. set(OPR_PARAM_DEFS_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
  20. file(MAKE_DIRECTORY ${OPR_PARAM_DEFS_OUT_DIR}/src/common)
  21. add_custom_command(
  22. OUTPUT ${OPR_PARAM_DEFS_OUT_DIR}/src/common/opr_param_defs_enumv.cuh
  23. COMMAND
  24. ${PYTHON3_EXECUTABLE_WITHOUT_VERSION} ${OPR_PARAM_DEFS_SCRIPT} --enumv
  25. ${OPR_PARAM_DEFS_SRCS} ${OPR_PARAM_DEFS_OUT_DIR}/src/common/opr_param_defs_enumv.cuh
  26. DEPENDS ${OPR_PARAM_DEFS_SRCS} ${OPR_PARAM_DEFS_SCRIPT}
  27. VERBATIM)
  28. list(APPEND OPR_PARAM_DEFS_OUTS
  29. ${OPR_PARAM_DEFS_OUT_DIR}/src/common/opr_param_defs_enumv.cuh)
  30. list(APPEND OPR_PARAM_DEFS_INC ${OPR_PARAM_DEFS_OUT_DIR})
  31. install(
  32. DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/megdnn
  33. DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
  34. FILES_MATCHING
  35. PATTERN "*.h")
  36. add_custom_target(_opr_param_defs DEPENDS ${OPR_PARAM_DEFS_OUTS})
  37. add_library(opr_param_defs INTERFACE)
  38. target_include_directories(opr_param_defs
  39. INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
  40. foreach(INCPATH IN LISTS OPR_PARAM_DEFS_INC)
  41. target_include_directories(opr_param_defs INTERFACE $<BUILD_INTERFACE:${INCPATH}>)
  42. endforeach()
  43. add_dependencies(opr_param_defs _opr_param_defs)
  44. install(TARGETS opr_param_defs EXPORT ${MGE_EXPORT_TARGETS})
  45. if(MGE_WITH_CUDA)
  46. add_library(cutlass INTERFACE)
  47. target_include_directories(
  48. cutlass
  49. INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/third_party/cutlass/include>)
  50. endif()
  51. if(MGE_WITH_TEST)
  52. add_subdirectory(test)
  53. endif()
  54. add_subdirectory(src)
  55. # install(TARGETS megdnn opr_param_defs libmkl EXPORT ${MGE_EXPORT_TARGETS})