1*da0073e9SAndroid Build Coastguard Workerif(NOT __AOTRITON_INCLUDED) 2*da0073e9SAndroid Build Coastguard Worker set(__AOTRITON_INCLUDED TRUE) 3*da0073e9SAndroid Build Coastguard Worker 4*da0073e9SAndroid Build Coastguard Worker set(__AOTRITON_SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/aotriton/src") 5*da0073e9SAndroid Build Coastguard Worker set(__AOTRITON_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/aotriton/build") 6*da0073e9SAndroid Build Coastguard Worker set(__AOTRITON_INSTALL_DIR "${PROJECT_SOURCE_DIR}/torch") 7*da0073e9SAndroid Build Coastguard Worker add_library(__caffe2_aotriton INTERFACE) 8*da0073e9SAndroid Build Coastguard Worker # Note it is INSTALL"ED" 9*da0073e9SAndroid Build Coastguard Worker if(DEFINED ENV{AOTRITON_INSTALLED_PREFIX}) 10*da0073e9SAndroid Build Coastguard Worker set(__AOTRITON_INSTALL_DIR "$ENV{AOTRITON_INSTALLED_PREFIX}") 11*da0073e9SAndroid Build Coastguard Worker message(STATUS "Using Preinstalled AOTriton at ${__AOTRITON_INSTALL_DIR}") 12*da0073e9SAndroid Build Coastguard Worker else() 13*da0073e9SAndroid Build Coastguard Worker file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/.ci/docker/aotriton_version.txt" __AOTRITON_CI_INFO) 14*da0073e9SAndroid Build Coastguard Worker list(GET __AOTRITON_CI_INFO 3 __AOTRITON_CI_COMMIT) 15*da0073e9SAndroid Build Coastguard Worker ExternalProject_Add(aotriton_external 16*da0073e9SAndroid Build Coastguard Worker GIT_REPOSITORY https://github.com/ROCm/aotriton.git 17*da0073e9SAndroid Build Coastguard Worker GIT_TAG ${__AOTRITON_CI_COMMIT} 18*da0073e9SAndroid Build Coastguard Worker SOURCE_DIR ${__AOTRITON_SOURCE_DIR} 19*da0073e9SAndroid Build Coastguard Worker BINARY_DIR ${__AOTRITON_BUILD_DIR} 20*da0073e9SAndroid Build Coastguard Worker PREFIX ${__AOTRITON_INSTALL_DIR} 21*da0073e9SAndroid Build Coastguard Worker CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${__AOTRITON_INSTALL_DIR} 22*da0073e9SAndroid Build Coastguard Worker -DAOTRITON_COMPRESS_KERNEL=OFF 23*da0073e9SAndroid Build Coastguard Worker -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} 24*da0073e9SAndroid Build Coastguard Worker -DAOTRITON_NO_PYTHON=ON 25*da0073e9SAndroid Build Coastguard Worker -DAOTRITON_NO_SHARED=OFF 26*da0073e9SAndroid Build Coastguard Worker # CONFIGURE_COMMAND "" 27*da0073e9SAndroid Build Coastguard Worker BUILD_COMMAND "" # No build, install command will repeat the build process due to problems in the build system. 28*da0073e9SAndroid Build Coastguard Worker BUILD_BYPRODUCTS "${__AOTRITON_INSTALL_DIR}/lib/libaotriton_v2.so" 29*da0073e9SAndroid Build Coastguard Worker USES_TERMINAL_DOWNLOAD TRUE 30*da0073e9SAndroid Build Coastguard Worker USES_TERMINAL_CONFIGURE TRUE 31*da0073e9SAndroid Build Coastguard Worker USES_TERMINAL_BUILD TRUE 32*da0073e9SAndroid Build Coastguard Worker USES_TERMINAL_INSTALL TRUE 33*da0073e9SAndroid Build Coastguard Worker # INSTALL_COMMAND ${MAKE_COMMAND} install 34*da0073e9SAndroid Build Coastguard Worker ) 35*da0073e9SAndroid Build Coastguard Worker add_dependencies(__caffe2_aotriton aotriton_external) 36*da0073e9SAndroid Build Coastguard Worker message(STATUS "Using AOTriton compiled from source directory ${__AOTRITON_SOURCE_DIR}") 37*da0073e9SAndroid Build Coastguard Worker endif() 38*da0073e9SAndroid Build Coastguard Worker target_link_libraries(__caffe2_aotriton INTERFACE ${__AOTRITON_INSTALL_DIR}/lib/libaotriton_v2.so) 39*da0073e9SAndroid Build Coastguard Worker target_include_directories(__caffe2_aotriton INTERFACE ${__AOTRITON_INSTALL_DIR}/include) 40*da0073e9SAndroid Build Coastguard Worker set(AOTRITON_FOUND TRUE) 41*da0073e9SAndroid Build Coastguard Workerendif() # __AOTRITON_INCLUDED 42