diff --git a/CMakeLists.txt b/CMakeLists.txt index 56591776..4ece7996 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1211,6 +1211,12 @@ set(MGE_VERSION_SCRIPT ${PROJECT_SOURCE_DIR}/src/version.ld CACHE INTERNAL "Path to linker version script") +execute_process( + COMMAND git log -1 --format=%H + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + OUTPUT_VARIABLE GIT_FULL_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE) + # Write out megbrain_build_config.h It defines macros needed by both megbrain and dnn configure_file(src/megbrain_build_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/genfiles/megbrain_build_config.h) diff --git a/dnn/include/megdnn/common.h b/dnn/include/megdnn/common.h index 09cb70a0..0536f4e8 100644 --- a/dnn/include/megdnn/common.h +++ b/dnn/include/megdnn/common.h @@ -13,7 +13,6 @@ #include "megbrain_build_config.h" #include "megdnn/oprs/base.h" - #if MGB_ENABLE_GETENV #define MGB_GETENV ::std::getenv #else diff --git a/src/core/impl/version.cpp b/src/core/impl/version.cpp index af76bf1b..30b9b32c 100644 --- a/src/core/impl/version.cpp +++ b/src/core/impl/version.cpp @@ -10,9 +10,21 @@ */ #include "megbrain/version.h" +#include "megbrain/common.h" using namespace mgb; +//! some sdk do not call mgb::get_version explicitly, so we force show version for +//! debug, mgb_log level is info, sdk may config a higher, need export +//! RUNTIME_OVERRIDE_LOG_LEVEL=0 to force change log level to show version +#ifndef __IN_TEE_ENV__ +static __attribute__((constructor)) void show_version() { + auto v = get_version(); + mgb_log("init Engine with version: %d.%d.%d(%d) at git commitid: %s", v.major, + v.minor, v.patch, v.is_dev, GIT_FULL_HASH); +} +#endif + Version mgb::get_version() { #ifdef MGB_MAJOR return {MGB_MAJOR, MGB_MINOR, MGB_PATCH, MGB_IS_DEV}; diff --git a/src/megbrain_build_config.h.in b/src/megbrain_build_config.h.in index 802d316e..2f198120 100644 --- a/src/megbrain_build_config.h.in +++ b/src/megbrain_build_config.h.in @@ -267,4 +267,6 @@ #define MGE_WIN_DECLSPEC_DATA #endif +#define GIT_FULL_HASH "@GIT_FULL_HASH@" + #endif // _HEADER_MGB_BUILD_CONFIG