mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-18 23:14:35 +08:00
[cmake]: add git and svn version script
Change-Id: Ia1f908986f503191c3e5a6bbe9dc5daa55648b40 Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
@@ -243,7 +243,6 @@ if(EXISTS "${PROJECT_SOURCE_DIR}/.svn/")
|
||||
endif (NOT TORTOISE_WCREV_EXECUTABLE)
|
||||
endif(WIN32)
|
||||
endif(Subversion_FOUND)
|
||||
|
||||
endif(EXISTS "${PROJECT_SOURCE_DIR}/.svn/")
|
||||
|
||||
if(${HAVE_SVN})
|
||||
@@ -253,15 +252,78 @@ if(${HAVE_SVN})
|
||||
set(VERSION_REVISION ${Project_WC_REVISION})
|
||||
set(VERSION_LAST_AUTHOR ${Project_WC_LAST_CHANGED_AUTHOR})
|
||||
set(VERSION_LAST_DATA ${Project_WC_LAST_CHANGED_DATE})
|
||||
set(VERSION_ONE_LINE "${VERSION_REVISION} author: ${VERSION_LAST_AUTHOR} date: ${VERSION_LAST_DATA}")
|
||||
set(VERSION_VER_NUM ${VERSION_REVISION})
|
||||
else()
|
||||
set(VERSION_REVISION -1)
|
||||
endif()
|
||||
|
||||
configure_file(
|
||||
"${PROJECT_SOURCE_DIR}/build/cmake/svn_info.in"
|
||||
"${PROJECT_SOURCE_DIR}/mpp/svn_info.h"
|
||||
)
|
||||
# ----------------------------------------------------------------------------
|
||||
# Create git version information
|
||||
# ----------------------------------------------------------------------------
|
||||
if(EXISTS "${PROJECT_SOURCE_DIR}/.git/")
|
||||
find_package(Git)
|
||||
if(GIT_FOUND)
|
||||
# get author
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --format=%an
|
||||
OUTPUT_VARIABLE EXEC_OUT
|
||||
ERROR_VARIABLE EXEC_ERROR
|
||||
RESULT_VARIABLE EXEC_RET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
if (NOT EXEC_RET)
|
||||
message(STATUS "author: ${EXEC_OUT}")
|
||||
set(VERSION_LAST_AUTHOR ${EXEC_OUT})
|
||||
endif()
|
||||
|
||||
# get date
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --format=%ad
|
||||
OUTPUT_VARIABLE EXEC_OUT
|
||||
ERROR_VARIABLE EXEC_ERROR
|
||||
RESULT_VARIABLE EXEC_RET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
if (NOT EXEC_RET)
|
||||
message(STATUS "author: ${EXEC_OUT}")
|
||||
set(VERSION_LAST_DATA ${EXEC_OUT})
|
||||
endif()
|
||||
|
||||
# get version hash
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --format=%H
|
||||
OUTPUT_VARIABLE EXEC_OUT
|
||||
ERROR_VARIABLE EXEC_ERROR
|
||||
RESULT_VARIABLE EXEC_RET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
if (NOT EXEC_RET)
|
||||
set(VERSION_REVISION ${EXEC_OUT})
|
||||
endif()
|
||||
|
||||
# get one line version information
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --pretty=format:"%h author: %an %s"
|
||||
OUTPUT_VARIABLE EXEC_OUT
|
||||
ERROR_VARIABLE EXEC_ERROR
|
||||
RESULT_VARIABLE EXEC_RET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
if (NOT EXEC_RET)
|
||||
message(STATUS "git version: ${EXEC_OUT}")
|
||||
set(VERSION_ONE_LINE ${EXEC_OUT})
|
||||
string(REPLACE "\"" "" VERSION_ONE_LINE ${VERSION_ONE_LINE})
|
||||
endif()
|
||||
|
||||
set(VERSION_VER_NUM -1)
|
||||
endif()
|
||||
endif(EXISTS "${PROJECT_SOURCE_DIR}/.git/")
|
||||
|
||||
configure_file(
|
||||
"${PROJECT_SOURCE_DIR}/build/cmake/version.in"
|
||||
"${PROJECT_SOURCE_DIR}/mpp/version.h"
|
||||
)
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Build options
|
||||
|
@@ -17,10 +17,11 @@
|
||||
#ifndef __VERSION_H__
|
||||
#define __VERSION_H__
|
||||
|
||||
#define SVN_VERSION "@VERSION_REVISION@"
|
||||
#define SVN_AUTHOR "@VERSION_LAST_AUTHOR@"
|
||||
#define SVN_DATE "@VERSION_LAST_DATA@"
|
||||
#define SVN_ONE_LINE "r@VERSION_REVISION@ author: @VERSION_LAST_AUTHOR@ date: @VERSION_LAST_DATA@"
|
||||
#define MPP_VERSION "@VERSION_REVISION@"
|
||||
#define MPP_AUTHOR "@VERSION_LAST_AUTHOR@"
|
||||
#define MPP_DATE "@VERSION_LAST_DATA@"
|
||||
#define MPP_ONE_LINE "@VERSION_ONE_LINE@"
|
||||
#define MPP_VER_NUM "@VERSION_VER_NUM@"
|
||||
|
||||
#endif /*__VERSION_H__*/
|
||||
|
@@ -23,16 +23,17 @@
|
||||
#include "mpp_env.h"
|
||||
#include "mpp_info.h"
|
||||
|
||||
#include "svn_info.h"
|
||||
#include "version.h"
|
||||
|
||||
/*
|
||||
* To avoid string | grep author getting multiple results
|
||||
* use commit to replace author
|
||||
*/
|
||||
static char mpp_version_revision[] = SVN_VERSION;
|
||||
static char mpp_version_commit[] = SVN_AUTHOR;
|
||||
static char mpp_version_date[] = SVN_DATE;
|
||||
static char mpp_version_one_line[] = SVN_ONE_LINE;
|
||||
static char mpp_version_revision[] = MPP_VERSION;
|
||||
static char mpp_version_commit[] = MPP_AUTHOR;
|
||||
static char mpp_version_date[] = MPP_DATE;
|
||||
static char mpp_version_one_line[] = MPP_ONE_LINE;
|
||||
static char mpp_version_number[] = MPP_VER_NUM;
|
||||
|
||||
static RK_CHIP_TYPE chip_version(void)
|
||||
{
|
||||
@@ -97,6 +98,6 @@ RK_CHIP_TYPE get_chip_type()
|
||||
|
||||
int mpp_info_get_revision()
|
||||
{
|
||||
return atoi(SVN_VERSION);
|
||||
return atoi(mpp_version_number);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user