# pten auto cmake utils include(pten) # paddle experimental common components add_subdirectory(common) # pten (low level) api headers: include # pten (high level) api add_subdirectory(api) # pten core components add_subdirectory(core) # pten components of specific backends add_subdirectory(backends) # pten kernels for diff device add_subdirectory(kernels) # pten infermeta add_subdirectory(infermeta) # pten operator definitions add_subdirectory(ops) # pten tests add_subdirectory(tests) # make an unity target for compile deps set(PTEN_DEPS convert_utils dense_tensor pten_context kernel_factory kernel_context arg_map_context infermeta lod_utils op_compat_infos) get_property(pten_kernels GLOBAL PROPERTY PTEN_KERNELS) # keep this message for debug, remove it later if needless message(STATUS "All standard pten kernels: ${pten_kernels}") set(PTEN_DEPS ${PTEN_DEPS} ${pten_kernels}) cc_library(pten DEPS ${PTEN_DEPS}) set(pten_extension_header_file ${CMAKE_CURRENT_SOURCE_DIR}/extension.h CACHE INTERNAL "pten/extension.h file") file(WRITE ${pten_extension_header_file} "// Header file generated by paddle/pten/CMakeLists.txt for external users,\n// DO NOT edit or include it within paddle.\n\n#pragma once\n\n") # generate inner headers include dir for users generate_unify_header(backends) generate_unify_header(core) generate_unify_header(infermeta) generate_unify_header(kernels SKIP_SUFFIX grad_kernel)