cmake/modules/LibInfo.cmake (133 lines of code) (raw):

# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # This script provides # - add_lib_info - A function to add definition flags to a specific file function(add_lib_info src_file) if (NOT DEFINED TVM_INFO_LLVM_VERSION) set(TVM_INFO_LLVM_VERSION "NOT-FOUND") else() string(STRIP ${TVM_INFO_LLVM_VERSION} TVM_INFO_LLVM_VERSION) endif() if (NOT DEFINED TVM_INFO_MLIR_VERSION) set(TVM_INFO_MLIR_VERSION "NOT-FOUND") else() string(STRIP ${TVM_INFO_MLIR_VERSION} TVM_INFO_MLIR_VERSION) endif() if (NOT DEFINED CUDA_VERSION) set(TVM_INFO_CUDA_VERSION "NOT-FOUND") else() string(STRIP ${CUDA_VERSION} TVM_INFO_CUDA_VERSION) endif() set_property( SOURCE ${src_file} APPEND PROPERTY COMPILE_DEFINITIONS TVM_CXX_COMPILER_PATH="${CMAKE_CXX_COMPILER}" TVM_INFO_BUILD_STATIC_RUNTIME="${BUILD_STATIC_RUNTIME}" TVM_INFO_BUILD_DUMMY_LIBTVM="${BUILD_DUMMY_LIBTVM}" TVM_INFO_COMPILER_RT_PATH="${COMPILER_RT_PATH}" TVM_INFO_CUDA_VERSION="${TVM_INFO_CUDA_VERSION}" TVM_INFO_DLPACK_PATH="${DLPACK_PATH}" TVM_INFO_DMLC_PATH="${DMLC_PATH}" TVM_INFO_GIT_COMMIT_HASH="${TVM_GIT_COMMIT_HASH}" TVM_INFO_GIT_COMMIT_TIME="${TVM_GIT_COMMIT_TIME}" TVM_INFO_HIDE_PRIVATE_SYMBOLS="${HIDE_PRIVATE_SYMBOLS}" TVM_INFO_INDEX_DEFAULT_I64="${INDEX_DEFAULT_I64}" TVM_INFO_INSTALL_DEV="${INSTALL_DEV}" TVM_INFO_LLVM_VERSION="${TVM_INFO_LLVM_VERSION}" TVM_INFO_MLIR_VERSION="${TVM_INFO_MLIR_VERSION}" TVM_INFO_PICOJSON_PATH="${PICOJSON_PATH}" TVM_INFO_RANG_PATH="${RANG_PATH}" TVM_INFO_ROCM_PATH="${ROCM_PATH}" TVM_INFO_SUMMARIZE="${SUMMARIZE}" TVM_INFO_USE_ALTERNATIVE_LINKER="${USE_ALTERNATIVE_LINKER}" TVM_INFO_USE_ARM_COMPUTE_LIB_GRAPH_EXECUTOR="${USE_ARM_COMPUTE_LIB_GRAPH_EXECUTOR}" TVM_INFO_USE_ARM_COMPUTE_LIB="${USE_ARM_COMPUTE_LIB}" TVM_INFO_USE_BLAS="${USE_BLAS}" TVM_INFO_USE_BNNS="${USE_BNNS}" TVM_INFO_USE_BYODT_POSIT="${USE_BYODT_POSIT}" TVM_INFO_USE_COREML="${USE_COREML}" TVM_INFO_USE_CPP_RPC="${USE_CPP_RPC}" TVM_INFO_USE_CPP_RTVM="${USE_CPP_RTVM}" TVM_INFO_USE_CUBLAS="${USE_CUBLAS}" TVM_INFO_USE_CUDA="${USE_CUDA}" TVM_INFO_USE_NVTX="${USE_NVTX}" TVM_INFO_USE_NCCL="${USE_NCCL}" TVM_INFO_USE_MSCCL="${USE_MSCCL}" TVM_INFO_USE_CUDNN="${USE_CUDNN}" TVM_INFO_USE_CUSTOM_LOGGING="${USE_CUSTOM_LOGGING}" TVM_INFO_USE_CUTLASS="${USE_CUTLASS}" TVM_INFO_USE_FLASHINFER="${USE_FLASHINFER}" TVM_INFO_USE_AMX="${USE_AMX}" TVM_INFO_USE_DNNL="${USE_DNNL}" TVM_INFO_USE_FALLBACK_STL_MAP="${USE_FALLBACK_STL_MAP}" TVM_INFO_USE_GTEST="${USE_GTEST}" TVM_INFO_USE_HEXAGON="${USE_HEXAGON}" TVM_INFO_USE_HEXAGON_RPC="${USE_HEXAGON_RPC}" TVM_INFO_USE_HEXAGON_SDK="${USE_HEXAGON_SDK}" TVM_INFO_USE_HEXAGON_GTEST="${USE_HEXAGON_GTEST}" TVM_INFO_USE_HEXAGON_EXTERNAL_LIBS="${USE_HEXAGON_EXTERNAL_LIBS}" TVM_INFO_USE_IOS_RPC="${USE_IOS_RPC}" TVM_INFO_USE_KHRONOS_SPIRV="${USE_KHRONOS_SPIRV}" TVM_INFO_USE_LIBBACKTRACE="${USE_LIBBACKTRACE}" TVM_INFO_USE_LIBTORCH="${USE_LIBTORCH}" TVM_INFO_USE_LLVM="${USE_LLVM}" TVM_INFO_USE_MLIR="${USE_MLIR}" TVM_INFO_USE_METAL="${USE_METAL}" TVM_INFO_USE_MIOPEN="${USE_MIOPEN}" TVM_INFO_USE_MKL="${USE_MKL}" TVM_INFO_USE_MRVL="${USE_MRVL}" TVM_INFO_USE_MSVC_MT="${USE_MSVC_MT}" TVM_INFO_USE_NNPACK="${USE_NNPACK}" TVM_INFO_USE_OPENCL="${USE_OPENCL}" TVM_INFO_USE_OPENCL_ENABLE_HOST_PTR="${USE_OPENCL_ENABLE_HOST_PTR}" TVM_INFO_USE_OPENCL_GTEST="${USE_OPENCL_GTEST}" TVM_INFO_USE_OPENMP="${USE_OPENMP}" TVM_INFO_USE_PAPI="${USE_PAPI}" TVM_INFO_USE_RANDOM="${USE_RANDOM}" TVM_INFO_TVM_DEBUG_WITH_ABI_CHANGE="${TVM_DEBUG_WITH_ABI_CHANGE}" TVM_INFO_TVM_LOG_BEFORE_THROW="${TVM_LOG_BEFORE_THROW}" TVM_INFO_USE_ROCBLAS="${USE_ROCBLAS}" TVM_INFO_USE_HIPBLAS="${USE_HIPBLAS}" TVM_INFO_USE_ROCM="${USE_ROCM}" TVM_INFO_USE_RCCL="${USE_RCCL}" TVM_INFO_USE_RPC="${USE_RPC}" TVM_INFO_USE_RTTI="${USE_RTTI}" TVM_INFO_USE_RUST_EXT="${USE_RUST_EXT}" TVM_INFO_USE_SORT="${USE_SORT}" TVM_INFO_USE_SPIRV_KHR_INTEGER_DOT_PRODUCT="${USE_SPIRV_KHR_INTEGER_DOT_PRODUCT}" TVM_INFO_USE_STACKVM_RUNTIME="${USE_STACKVM_RUNTIME}" TVM_INFO_USE_TENSORFLOW_PATH="${USE_TENSORFLOW_PATH}" TVM_INFO_USE_TENSORRT_CODEGEN="${USE_TENSORRT_CODEGEN}" TVM_INFO_USE_TENSORRT_RUNTIME="${USE_TENSORRT_RUNTIME}" TVM_INFO_USE_TFLITE="${USE_TFLITE}" TVM_INFO_USE_THREADS="${USE_THREADS}" TVM_INFO_USE_THRUST="${USE_THRUST}" TVM_INFO_USE_CURAND="${USE_CURAND}" TVM_INFO_USE_VULKAN="${USE_VULKAN}" TVM_INFO_USE_CLML="${USE_CLML}" TVM_INFO_USE_CLML_GRAPH_EXECUTOR="${USE_CLML_GRAPH_EXECUTOR}" TVM_INFO_USE_TVM_CLML_VERSION="${CLML_VERSION_MAJOR}" TVM_INFO_USE_UMA="${USE_UMA}" TVM_INFO_USE_MSC="${USE_MSC}" TVM_INFO_USE_CCACHE="${USE_CCACHE}" TVM_INFO_USE_NVSHMEM="${USE_NVSHMEM}" TVM_INFO_USE_NNAPI_CODEGEN="${USE_NNAPI_CODEGEN}" TVM_INFO_USE_NNAPI_RUNTIME="${USE_NNAPI_RUNTIME}" TVM_INFO_BACKTRACE_ON_SEGFAULT="${BACKTRACE_ON_SEGFAULT}" ) endfunction()