Merge pull request #4167 from bmiklautz/buildversion

feat: add support for .source_version
This commit is contained in:
akallabeth 2017-10-09 09:19:19 +02:00 committed by GitHub
commit d7154444ff
7 changed files with 16 additions and 64 deletions

1
.gitignore vendored
View File

@ -136,6 +136,7 @@ TAGS
packaging/deb/freerdp-nightly/freerdp-nightly
packaging/deb/freerdp-nightly/freerdp-nightly-dev
packaging/deb/freerdp-nightly/freerdp-nightly-dbg
.source_version
#
.idea

View File

@ -59,7 +59,6 @@ include(FindPkgConfig)
include(TestBigEndian)
include(FindFeature)
include(AutoVersioning)
include(ConfigOptions)
include(ComplexLibrary)
include(FeatureSummary)
@ -102,7 +101,7 @@ if (FREERDP_EXTERNAL_PATH)
get_filename_component (FREERDP_EXTERNAL_PATH "${FREERDP_EXTERNAL_PATH}" ABSOLUTE)
endif()
# Allow to search the host machine for git
# Allow to search the host machine for git/ccache
if(CMAKE_CROSSCOMPILING)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
endif(CMAKE_CROSSCOMPILING)
@ -113,15 +112,23 @@ if(CCACHE AND WITH_CCACHE)
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE})
endif(CCACHE AND WITH_CCACHE)
include(GetGitRevisionDescription)
git_get_exact_tag(GIT_REVISION --tags --always)
if(EXISTS "${CMAKE_SOURCE_DIR}/.source_version" )
file(READ ${CMAKE_SOURCE_DIR}/.source_version GIT_REVISION)
if (${GIT_REVISION} STREQUAL "n/a")
git_rev_parse (GIT_REVISION --short)
string(STRIP ${GIT_REVISION} GIT_REVISION)
else()
include(GetGitRevisionDescription)
git_get_exact_tag(GIT_REVISION --tags --always)
if (${GIT_REVISION} STREQUAL "n/a")
git_rev_parse (GIT_REVISION --short)
endif()
endif()
if(CMAKE_CROSSCOMPILING)
SET (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
endif(CMAKE_CROSSCOMPILING)
# /Allow to search the host machine for git/ccache
message(STATUS "Git Revision ${GIT_REVISION}")

View File

@ -202,7 +202,7 @@ static COMMAND_LINE_ARGUMENT_A args[] =
BOOL freerdp_client_print_version()
{
printf("This is FreeRDP version %s (git %s)\n", FREERDP_VERSION_FULL,
printf("This is FreeRDP version %s (%s)\n", FREERDP_VERSION_FULL,
GIT_REVISION);
return TRUE;
}

View File

@ -1,55 +0,0 @@
# - AutoVersioning
# Gather version from tarball or SCM
#
# This module defines the following variables:
# PRODUCT_VERSION - Version of product
#
#=============================================================================
# Copyright 2011 O.S. Systems Software Ltda.
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
#
# Licensed 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.
#=============================================================================
if(EXISTS "${CMAKE_SOURCE_DIR}/.version" )
file(READ ${CMAKE_SOURCE_DIR}/.version PRODUCT_VERSION)
string(STRIP ${PRODUCT_VERSION} PRODUCT_VERSION)
else()
execute_process(COMMAND git describe --match "v[0-9]*" --abbrev=4
OUTPUT_VARIABLE PRODUCT_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET)
if(PRODUCT_VERSION)
string(REGEX REPLACE "^v(.*)" "\\1" PRODUCT_VERSION ${PRODUCT_VERSION})
else()
# GIT is the default version
set(PRODUCT_VERSION GIT)
endif()
# Check if has not commited changes
execute_process(COMMAND git update-index -q --refresh
ERROR_QUIET)
execute_process(COMMAND git diff-index --name-only HEAD --
OUTPUT_VARIABLE CHANGED_SOURCE
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET)
if(CHANGED_SOURCE)
set(PRODUCT_VERSION ${PRODUCT_VERSION}-dirty)
endif()
endif()
message(STATUS "${CMAKE_PROJECT_NAME} ${PRODUCT_VERSION}")

View File

@ -1,3 +1,4 @@
#!/bin/sh
ln -s packaging/deb/freerdp-nightly debian
git rev-parse --short HEAD > .source_version

View File

@ -34,7 +34,6 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/)
# Check for cmake compatibility (enable/disable features)
include(CheckCmakeCompat)
include(FindFeature)
include(AutoVersioning)
include(ConfigOptions)
include(CheckCCompilerFlag)
include(GNUInstallDirsWrapper)

View File

@ -39,7 +39,6 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/)
# Check for cmake compatibility (enable/disable features)
include(CheckCmakeCompat)
include(FindFeature)
include(AutoVersioning)
include(ConfigOptions)
include(ComplexLibrary)
include(FeatureSummary)