From 311f5b47cad85289113aef2fe44b6b04e802642a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Terziman?= Date: Mon, 19 May 2014 14:36:24 +0200 Subject: [PATCH 1/2] Fixed bug during compilation with mingw & improved git revision support for automatic up to date revision number. --- CMakeLists.txt | 29 ++++++++++++++++++++++++++++- code/AssimpPCH.cpp | 2 +- revision.h => revision.h.in | 3 ++- 3 files changed, 31 insertions(+), 3 deletions(-) rename revision.h => revision.h.in (54%) diff --git a/CMakeLists.txt b/CMakeLists.txt index cf64e9ef3..6fef21202 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,10 +7,37 @@ set (ASSIMP_VERSION_MINOR 0) set (ASSIMP_VERSION_PATCH 1) # subversion revision? set (ASSIMP_VERSION ${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}.${ASSIMP_VERSION_PATCH}) set (ASSIMP_SOVERSION 3) -SET ( PROJECT_VERSION "${ASSIMP_VERSION}" ) +set (PROJECT_VERSION "${ASSIMP_VERSION}") set(ASSIMP_PACKAGE_VERSION "0" CACHE STRING "the package-specific version used for uploading the sources") +# Get the current working branch +execute_process( + COMMAND git rev-parse --abbrev-ref HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_BRANCH + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +# Get the latest abbreviated commit hash of the working branch +execute_process( + COMMAND git log -1 --format=%h + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_COMMIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +if(NOT GIT_COMMIT_HASH) + set(GIT_COMMIT_HASH 0) +endif(NOT GIT_COMMIT_HASH) + +configure_file( + ${CMAKE_SOURCE_DIR}/revision.h.in + ${CMAKE_BINARY_DIR}/revision.h +) + +include_directories(${CMAKE_BINARY_DIR}) + option(ASSIMP_OPT_BUILD_PACKAGES "Set to ON to generate CPack configuration files and packaging targets" OFF) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules" ) set(LIBASSIMP_COMPONENT "libassimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}.${ASSIMP_VERSION_PATCH}" ) diff --git a/code/AssimpPCH.cpp b/code/AssimpPCH.cpp index 1a3c86d29..62df955de 100644 --- a/code/AssimpPCH.cpp +++ b/code/AssimpPCH.cpp @@ -63,7 +63,7 @@ ASSIMP_API unsigned int aiGetCompileFlags () { } // include current build revision, which is even updated from time to time -- :-) -#include "../revision.h" +#include "revision.h" // ------------------------------------------------------------------------------------------------ ASSIMP_API unsigned int aiGetVersionRevision () diff --git a/revision.h b/revision.h.in similarity index 54% rename from revision.h rename to revision.h.in index 8ed82b1ac..719447831 100644 --- a/revision.h +++ b/revision.h.in @@ -1,6 +1,7 @@ #ifndef ASSIMP_REVISION_H_INC #define ASSIMP_REVISION_H_INC -#define GitVersion 0xA0bA3A8; +#define GitVersion 0x@GIT_COMMIT_HASH@ +#define GitBranch "@GIT_BRANCH@" #endif // ASSIMP_REVISION_H_INC From e7e0a5a090334d6c2e3764dba82091620b629a9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Terziman?= Date: Mon, 19 May 2014 14:56:39 +0200 Subject: [PATCH 2/2] Fixed assimp_cmd version message --- tools/assimp_cmd/Main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/assimp_cmd/Main.cpp b/tools/assimp_cmd/Main.cpp index c5c1de6fd..b0cf6beb3 100644 --- a/tools/assimp_cmd/Main.cpp +++ b/tools/assimp_cmd/Main.cpp @@ -51,7 +51,7 @@ const char* AICMD_MSG_ABOUT = " -- Commandline toolchain --\n" "------------------------------------------------------ \n\n" -"Version %i.%i %s%s%s%s%s(SVNREV %i)\n\n"; +"Version %i.%i %s%s%s%s%s(GIT commit %x)\n\n"; const char* AICMD_MSG_HELP = "assimp \n\n"