diff --git a/.gitignore b/.gitignore index 27f9b37d7..8dde495ec 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/CMakeLists.txt b/CMakeLists.txt index 1b3b86f67..ed064a1b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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}") diff --git a/client/common/cmdline.c b/client/common/cmdline.c index 6044fa9e6..3019d6bab 100644 --- a/client/common/cmdline.c +++ b/client/common/cmdline.c @@ -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; } diff --git a/cmake/AutoVersioning.cmake b/cmake/AutoVersioning.cmake deleted file mode 100644 index fe6e3399f..000000000 --- a/cmake/AutoVersioning.cmake +++ /dev/null @@ -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 -# -# 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}") diff --git a/rdtk/CMakeLists.txt b/rdtk/CMakeLists.txt index 90286787c..764a545c2 100644 --- a/rdtk/CMakeLists.txt +++ b/rdtk/CMakeLists.txt @@ -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) diff --git a/winpr/CMakeLists.txt b/winpr/CMakeLists.txt index 9c2e7925b..e56b3ad37 100644 --- a/winpr/CMakeLists.txt +++ b/winpr/CMakeLists.txt @@ -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)