diff --git a/CMakeLists.txt b/CMakeLists.txt index 06e007e58eff..aac299fc5f12 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -443,14 +443,17 @@ else() set(CMAKE_CUDA_STANDARD 14) endif() -add_lib_info(${CMAKE_CURRENT_LIST_DIR}/src/support/libinfo.cc) +set(LIBINFO_FILE ${CMAKE_CURRENT_LIST_DIR}/src/support/libinfo.cc) +add_lib_info(${LIBINFO_FILE}) +list(REMOVE_ITEM COMPILER_SRCS ${LIBINFO_FILE}) # TODO(trevmorr): Update tvm_runtime_static to match other targets add_library(tvm_runtime_static STATIC ${RUNTIME_SRCS}) add_library(tvm_objs OBJECT ${COMPILER_SRCS}) add_library(tvm_runtime_objs OBJECT ${RUNTIME_SRCS}) +add_library(tvm_libinfo_objs OBJECT ${LIBINFO_FILE}) -add_library(tvm SHARED $ $) +add_library(tvm SHARED $ $ $) set_property(TARGET tvm APPEND PROPERTY LINK_OPTIONS "${TVM_NO_UNDEFINED_SYMBOLS}") set_property(TARGET tvm APPEND PROPERTY LINK_OPTIONS "${TVM_VISIBILITY_FLAG}") if(BUILD_STATIC_RUNTIME) @@ -466,9 +469,10 @@ else() set_property(TARGET tvm_runtime APPEND PROPERTY LINK_OPTIONS "${TVM_NO_UNDEFINED_SYMBOLS}") endif() set_property(TARGET tvm_runtime APPEND PROPERTY LINK_OPTIONS "${TVM_VISIBILITY_FLAG}") -target_compile_definitions(tvm_runtime_static PUBLIC DMLC_USE_LOGGING_LIBRARY=) + target_compile_definitions(tvm_objs PUBLIC DMLC_USE_LOGGING_LIBRARY=) target_compile_definitions(tvm_runtime_objs PUBLIC DMLC_USE_LOGGING_LIBRARY=) +target_compile_definitions(tvm_libinfo_objs PUBLIC DMLC_USE_LOGGING_LIBRARY=) target_compile_definitions(tvm PUBLIC DMLC_USE_LOGGING_LIBRARY=) target_compile_definitions(tvm_runtime PUBLIC DMLC_USE_LOGGING_LIBRARY=) @@ -496,19 +500,24 @@ if(USE_RELAY_DEBUG) target_compile_definitions(tvm_objs PRIVATE "TVM_LOG_DEBUG") target_compile_definitions(tvm_runtime_objs PRIVATE "USE_RELAY_DEBUG") target_compile_definitions(tvm_runtime_objs PRIVATE "TVM_LOG_DEBUG") + target_compile_definitions(tvm_libinfo_objs PRIVATE "USE_RELAY_DEBUG") + target_compile_definitions(tvm_libinfo_objs PRIVATE "TVM_LOG_DEBUG") else() target_compile_definitions(tvm_objs PRIVATE "NDEBUG") target_compile_definitions(tvm_runtime_objs PRIVATE "NDEBUG") + target_compile_definitions(tvm_libinfo_objs PRIVATE "NDEBUG") endif(USE_RELAY_DEBUG) if(USE_FALLBACK_STL_MAP) message(STATUS "Building with STL Map...") target_compile_definitions(tvm_objs PRIVATE "USE_FALLBACK_STL_MAP=1") target_compile_definitions(tvm_runtime_objs PRIVATE "USE_FALLBACK_STL_MAP=1") + target_compile_definitions(tvm_libinfo_objs PRIVATE "USE_FALLBACK_STL_MAP=1") else() message(STATUS "Building with TVM Map...") target_compile_definitions(tvm_objs PRIVATE "USE_FALLBACK_STL_MAP=0") target_compile_definitions(tvm_runtime_objs PRIVATE "USE_FALLBACK_STL_MAP=0") + target_compile_definitions(tvm_libinfo_objs PRIVATE "USE_FALLBACK_STL_MAP=0") endif(USE_FALLBACK_STL_MAP) if(BUILD_FOR_HEXAGON) @@ -539,17 +548,23 @@ target_include_directories( target_include_directories( tvm_objs PUBLIC "topi/include") +target_include_directories( + tvm_libinfo_objs + PUBLIC "topi/include") set(CRC16_INCLUDE_PATH "3rdparty/libcrc/include") target_include_directorieS( tvm_objs PRIVATE "${CRC16_INCLUDE_PATH}") +target_include_directorieS( + tvm_libinfo_objs + PRIVATE "${CRC16_INCLUDE_PATH}") target_include_directorieS( tvm_runtime_objs PRIVATE "${CRC16_INCLUDE_PATH}") set(TVM_TEST_LIBRARY_NAME tvm) if (HIDE_PRIVATE_SYMBOLS AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - add_library(tvm_allvisible SHARED $ $) + add_library(tvm_allvisible SHARED $ $ $) target_include_directories(tvm_allvisible PUBLIC "$") target_link_libraries(tvm_allvisible PRIVATE "$") set(TVM_TEST_LIBRARY_NAME tvm_allvisible) @@ -627,6 +642,7 @@ endif(INSTALL_DEV) # More target definitions if(MSVC) target_compile_definitions(tvm_objs PRIVATE -DTVM_EXPORTS) + target_compile_definitions(tvm_libinfo_objs PRIVATE -DTVM_EXPORTS) target_compile_definitions(tvm_runtime_objs PRIVATE -DTVM_EXPORTS) target_compile_definitions(tvm_runtime_static PRIVATE -DTVM_EXPORTS) endif() @@ -644,6 +660,7 @@ if(TVM_IS_DEBUG_BUILD) if(FILE_PREFIX_MAP_SUPPORTED) target_compile_options(tvm PRIVATE $<$:${FILE_PREFIX_MAP_FLAG}>) target_compile_options(tvm_objs PRIVATE $<$:${FILE_PREFIX_MAP_FLAG}>) + target_compile_options(tvm_libinfo_objs PRIVATE $<$:${FILE_PREFIX_MAP_FLAG}>) target_compile_options(tvm_runtime PRIVATE $<$:${FILE_PREFIX_MAP_FLAG}>) target_compile_options(tvm_runtime_objs PRIVATE $<$:${FILE_PREFIX_MAP_FLAG}>) endif()