mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-17 14:40:44 +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 (NOT TORTOISE_WCREV_EXECUTABLE)
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
endif(Subversion_FOUND)
|
endif(Subversion_FOUND)
|
||||||
|
|
||||||
endif(EXISTS "${PROJECT_SOURCE_DIR}/.svn/")
|
endif(EXISTS "${PROJECT_SOURCE_DIR}/.svn/")
|
||||||
|
|
||||||
if(${HAVE_SVN})
|
if(${HAVE_SVN})
|
||||||
@@ -253,15 +252,78 @@ if(${HAVE_SVN})
|
|||||||
set(VERSION_REVISION ${Project_WC_REVISION})
|
set(VERSION_REVISION ${Project_WC_REVISION})
|
||||||
set(VERSION_LAST_AUTHOR ${Project_WC_LAST_CHANGED_AUTHOR})
|
set(VERSION_LAST_AUTHOR ${Project_WC_LAST_CHANGED_AUTHOR})
|
||||||
set(VERSION_LAST_DATA ${Project_WC_LAST_CHANGED_DATE})
|
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()
|
else()
|
||||||
set(VERSION_REVISION -1)
|
set(VERSION_REVISION -1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
configure_file(
|
# ----------------------------------------------------------------------------
|
||||||
"${PROJECT_SOURCE_DIR}/build/cmake/svn_info.in"
|
# Create git version information
|
||||||
"${PROJECT_SOURCE_DIR}/mpp/svn_info.h"
|
# ----------------------------------------------------------------------------
|
||||||
)
|
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
|
# Build options
|
||||||
|
@@ -17,10 +17,11 @@
|
|||||||
#ifndef __VERSION_H__
|
#ifndef __VERSION_H__
|
||||||
#define __VERSION_H__
|
#define __VERSION_H__
|
||||||
|
|
||||||
#define SVN_VERSION "@VERSION_REVISION@"
|
#define MPP_VERSION "@VERSION_REVISION@"
|
||||||
#define SVN_AUTHOR "@VERSION_LAST_AUTHOR@"
|
#define MPP_AUTHOR "@VERSION_LAST_AUTHOR@"
|
||||||
#define SVN_DATE "@VERSION_LAST_DATA@"
|
#define MPP_DATE "@VERSION_LAST_DATA@"
|
||||||
#define SVN_ONE_LINE "r@VERSION_REVISION@ author: @VERSION_LAST_AUTHOR@ date: @VERSION_LAST_DATA@"
|
#define MPP_ONE_LINE "@VERSION_ONE_LINE@"
|
||||||
|
#define MPP_VER_NUM "@VERSION_VER_NUM@"
|
||||||
|
|
||||||
#endif /*__VERSION_H__*/
|
#endif /*__VERSION_H__*/
|
||||||
|
|
@@ -23,16 +23,17 @@
|
|||||||
#include "mpp_env.h"
|
#include "mpp_env.h"
|
||||||
#include "mpp_info.h"
|
#include "mpp_info.h"
|
||||||
|
|
||||||
#include "svn_info.h"
|
#include "version.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* To avoid string | grep author getting multiple results
|
* To avoid string | grep author getting multiple results
|
||||||
* use commit to replace author
|
* use commit to replace author
|
||||||
*/
|
*/
|
||||||
static char mpp_version_revision[] = SVN_VERSION;
|
static char mpp_version_revision[] = MPP_VERSION;
|
||||||
static char mpp_version_commit[] = SVN_AUTHOR;
|
static char mpp_version_commit[] = MPP_AUTHOR;
|
||||||
static char mpp_version_date[] = SVN_DATE;
|
static char mpp_version_date[] = MPP_DATE;
|
||||||
static char mpp_version_one_line[] = SVN_ONE_LINE;
|
static char mpp_version_one_line[] = MPP_ONE_LINE;
|
||||||
|
static char mpp_version_number[] = MPP_VER_NUM;
|
||||||
|
|
||||||
static RK_CHIP_TYPE chip_version(void)
|
static RK_CHIP_TYPE chip_version(void)
|
||||||
{
|
{
|
||||||
@@ -97,6 +98,6 @@ RK_CHIP_TYPE get_chip_type()
|
|||||||
|
|
||||||
int mpp_info_get_revision()
|
int mpp_info_get_revision()
|
||||||
{
|
{
|
||||||
return atoi(SVN_VERSION);
|
return atoi(mpp_version_number);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user