mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-06 12:20:52 +01:00
cmake: allow to build pytorch as a CMake subproject (#110373)
This is a re-attempt of fixing https://github.com/pytorch/pytorch/issues/53980, first submitted in https://github.com/pytorch/pytorch/pull/54978. Quoting @SpaceIm ``` Fixes https://github.com/pytorch/pytorch/issues/53980 Maybe it would be nice to find why some files are generated in CMAKE_BINARY_DIR instead of CMAKE_CURRENT_BINARY_DIR or Torch_BINARY_DIR or PROJECT_BINARY_DIR, but there is a lot of indirection in the logic of pytorch build files, so I was not able to find where it comes from. ``` Pull Request resolved: https://github.com/pytorch/pytorch/pull/110373 Approved by: https://github.com/malfet
This commit is contained in:
parent
57f6368b8e
commit
31611b40b9
|
|
@ -1051,7 +1051,7 @@ include_directories(BEFORE ${PROJECT_SOURCE_DIR})
|
|||
include_directories(BEFORE ${PROJECT_BINARY_DIR})
|
||||
|
||||
include_directories(BEFORE ${PROJECT_SOURCE_DIR}/aten/src/)
|
||||
include_directories(BEFORE ${PROJECT_BINARY_DIR}/aten/src/)
|
||||
include_directories(BEFORE ${CMAKE_BINARY_DIR}/aten/src/)
|
||||
|
||||
if(USE_MIMALLOC)
|
||||
set(MI_OVERRIDE OFF)
|
||||
|
|
|
|||
|
|
@ -547,7 +547,7 @@ endif()
|
|||
# https://stackoverflow.com/questions/11096471/how-can-i-install-a-hierarchy-of-files-using-cmake
|
||||
foreach(HEADER ${INSTALL_HEADERS})
|
||||
string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "ATen/" HEADER_SUB ${HEADER})
|
||||
string(REPLACE "${${CMAKE_PROJECT_NAME}_SOURCE_DIR}/" "" HEADER_SUB ${HEADER_SUB})
|
||||
string(REPLACE "${Torch_SOURCE_DIR}/" "" HEADER_SUB ${HEADER_SUB})
|
||||
get_filename_component(DIR ${HEADER_SUB} DIRECTORY)
|
||||
install(FILES ${HEADER} DESTINATION "${AT_INSTALL_INCLUDE_DIR}/${DIR}")
|
||||
endforeach()
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ if(INTERN_BUILD_ATEN_OPS)
|
|||
"${PYTHON_EXECUTABLE}" ${CMAKE_CURRENT_SOURCE_DIR}/contrib/aten/gen_op.py
|
||||
--aten_root=${CMAKE_CURRENT_SOURCE_DIR}/../aten
|
||||
--template_dir=${CMAKE_CURRENT_SOURCE_DIR}/contrib/aten
|
||||
--yaml_dir=${CMAKE_CURRENT_BINARY_DIR}/../aten/src/ATen
|
||||
--yaml_dir=${CMAKE_BINARY_DIR}/aten/src/ATen
|
||||
--install_dir=${CMAKE_CURRENT_BINARY_DIR}/contrib/aten
|
||||
DEPENDS
|
||||
${torchgen_python}
|
||||
|
|
@ -693,6 +693,7 @@ if(USE_ROCM)
|
|||
# See NOTE [ ATen NVRTC Stub and HIP ]
|
||||
add_library(caffe2_nvrtc SHARED ${ATen_NVRTC_STUB_SRCS})
|
||||
target_link_libraries(caffe2_nvrtc ${PYTORCH_HIP_HCC_LIBRARIES} ${ROCM_HIPRTC_LIB})
|
||||
target_include_directories(caffe2_nvrtc PRIVATE ${CMAKE_BINARY_DIR})
|
||||
target_compile_definitions(caffe2_nvrtc PRIVATE USE_ROCM __HIP_PLATFORM_HCC__)
|
||||
install(TARGETS caffe2_nvrtc DESTINATION "${TORCH_INSTALL_LIB_DIR}")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -346,7 +346,7 @@ if(INTERN_BUILD_ATEN_OPS)
|
|||
endif()
|
||||
|
||||
function(append_filelist name outputvar)
|
||||
set(_rootdir "${${CMAKE_PROJECT_NAME}_SOURCE_DIR}/")
|
||||
set(_rootdir "${Torch_SOURCE_DIR}/")
|
||||
# configure_file adds its input to the list of CMAKE_RERUN dependencies
|
||||
configure_file(
|
||||
${PROJECT_SOURCE_DIR}/build_variables.bzl
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user