Browse Source

* Improved git version handling

* Fixed bug in tool
master
bergmann 4 years ago
parent
commit
066e04b74d
7 changed files with 92 additions and 56 deletions
  1. +1
    -1
      cmake/modules
  2. +4
    -1
      projects/helloworld/cmake/helloworld-options.cmake
  3. +39
    -23
      projects/helloworld/cmake/helloworld-var.cmake
  4. +1
    -1
      projects/libhelloworld/cmake/libhelloworld-config.cmake
  5. +3
    -0
      projects/libhelloworld/cmake/libhelloworld-options.cmake
  6. +41
    -27
      projects/libhelloworld/cmake/libhelloworld-var.cmake
  7. +3
    -3
      tool

+ 1
- 1
cmake/modules

@@ -1 +1 @@
Subproject commit 1a32531aef2deeebd5637b1873bc4e976628801c
Subproject commit 4ca86b7d92f24e5d8056cada3ff6bd3906b16aca

+ 4
- 1
projects/helloworld/cmake/helloworld-options.cmake View File

@@ -2,5 +2,8 @@ Option ( HELLOWORLD_INSTALL_DEBUG
"Install the stripped debug informations of helloworld."
OFF )
Option ( HELLOWORLD_NO_STRIP
"Do not strip debug symbols from binary."
"Do not strip debug symbols from helloworld binary."
OFF )
Option ( HELLOWORLD_USE_GIT_VERSION
"Read the git tags to get the version of helloworld"
ON )

+ 39
- 23
projects/helloworld/cmake/helloworld-var.cmake View File

@@ -1,28 +1,44 @@
# Version
Set ( HELLOWORLD_VERSION_MAJOR 1 )
Set ( HELLOWORLD_VERSION_MINOR 0 )
Set ( HELLOWORLD_VERSION_PATCH 0 )
Set ( HELLOWORLD_VERSION_BUILD 0 )
Set ( HELLOWORLD_VERSION_SHORT "${HELLOWORLD_VERSION_MAJOR}.${HELLOWORLD_VERSION_MINOR}" )
Set ( HELLOWORLD_VERSION "${HELLOWORLD_VERSION_SHORT}.${HELLOWORLD_VERSION_PATCH}.${HELLOWORLD_VERSION_BUILD}" )
Set ( HELLOWORLD_NAME "helloworld-${HELLOWORLD_VERSION_SHORT}" )
Set ( HELLOWORLD_VERSION_MAJOR 1 )
Set ( HELLOWORLD_VERSION_MINOR 0 )
Set ( HELLOWORLD_VERSION_PATCH 0 )
Set ( HELLOWORLD_VERSION_BUILD 0 )
Set ( HELLOWORLD_VERSION_HASH "" )
Set ( HELLOWORLD_VERSION_BEHIND 0 )
Set ( HELLOWORLD_VERSION_DIRTY 0 )

# Git Version
If ( HELLOWORLD_USE_GIT_VERSION )
Include ( git_helper OPTIONAL RESULT_VARIABLE HAS_GIT_HELPER )
If ( HAS_GIT_HELPER )
GitGetVersion ( ${CMAKE_CURRENT_LIST_DIR}/..
HELLOWORLD_VERSION_MAJOR
HELLOWORLD_VERSION_MINOR
HELLOWORLD_VERSION_PATCH
HELLOWORLD_VERSION_BUILD
HELLOWORLD_VERSION_HASH
HELLOWORLD_VERSION_BEHIND
HELLOWORLD_VERSION_DIRTY )
EndIf ( )
EndIf ( )

# Strings
Set ( HELLOWORLD_VERSION_SHORT "${HELLOWORLD_VERSION_MAJOR}.${HELLOWORLD_VERSION_MINOR}" )
Set ( HELLOWORLD_VERSION "${HELLOWORLD_VERSION_SHORT}.${HELLOWORLD_VERSION_PATCH}.${HELLOWORLD_VERSION_BUILD}" )
Set ( HELLOWORLD_VERSION_COMPLETE "${HELLOWORLD_VERSION}" )
Set ( HELLOWORLD_NAME "helloworld-${HELLOWORLD_VERSION_SHORT}" )
Set ( HELLOWORLD_OUTPUTNAME "helloworld" )
If ( HELLOWORLD_VERSION_BEHIND )
Set ( HELLOWORLD_VERSION_COMPLETE "${HELLOWORLD_VERSION_COMPLETE}+${HELLOWORLD_VERSION_BEHIND}" )
EndIf ( )

Message ( FATAL_ERROR "Please configure the output name of protject (HELLOWORLD_NAME and HELLOWORLD_OUTPUTNAME)!" )

# Install directories
Set ( HELLOWORLD_INSTALL_DIR_BIN "bin" )
Set ( HELLOWORLD_INSTALL_DIR_BIN "bin" )

# C Standard
Set ( CMAKE_C_STANDARD 11 )
Set ( CMAKE_CXX_STANDARD 17 )
Set ( CMAKE_C_STANDARD_REQUIRED ON )
Set ( CMAKE_CXX_STANDARD_REQUIRED ON )

# Git Version
Include ( git_helper OPTIONAL RESULT_VARIABLE HAS_GIT_HELPER )
If ( HAS_GIT_HELPER )
GitGetVersion ( ${CMAKE_CURRENT_LIST_DIR}/..
HELLOWORLD_VERSION_MAJOR
HELLOWORLD_VERSION_MINOR
HELLOWORLD_VERSION_PATCH
HELLOWORLD_VERSION_BUILD
HELLOWORLD_VERSION_HASH )
EndIf ( )
Set ( CMAKE_C_STANDARD 11 )
Set ( CMAKE_CXX_STANDARD 17 )
Set ( CMAKE_C_STANDARD_REQUIRED ON )
Set ( CMAKE_CXX_STANDARD_REQUIRED ON )

+ 1
- 1
projects/libhelloworld/cmake/libhelloworld-config.cmake View File

@@ -1,6 +1,6 @@
# libhelloworld-config.cmake - package configuration file

Message ( WARNING "Please configure the dependencies of this package!" )
Message ( FATAL_ERROR "Please configure the dependencies of this package!" )
# Include ( CMakeFindDependencyMacro )
# Find_Dependency ( <dependency> )



+ 3
- 0
projects/libhelloworld/cmake/libhelloworld-options.cmake View File

@@ -13,3 +13,6 @@ Option ( LIBHELLOWORLD_INSTALL_DEBUG
Option ( LIBHELLOWORLD_NO_STRIP
"Do not strip debug symbols from binary."
OFF )
Option ( LIBHELLOWORLD_USE_GIT_VERSION
"Read the git tags to get the version of libhelloworld"
ON )

+ 41
- 27
projects/libhelloworld/cmake/libhelloworld-var.cmake View File

@@ -1,32 +1,46 @@
# Version
Set ( LIBHELLOWORLD_VERSION_MAJOR 1 )
Set ( LIBHELLOWORLD_VERSION_MINOR 0 )
Set ( LIBHELLOWORLD_VERSION_PATCH 0 )
Set ( LIBHELLOWORLD_VERSION_BUILD 0 )
Set ( LIBHELLOWORLD_VERSION_SHORT "${LIBHELLOWORLD_VERSION_MAJOR}.${LIBHELLOWORLD_VERSION_MINOR}" )
Set ( LIBHELLOWORLD_VERSION "${LIBHELLOWORLD_VERSION_SHORT}.${LIBHELLOWORLD_VERSION_PATCH}.${LIBHELLOWORLD_VERSION_BUILD}" )
Set ( LIBHELLOWORLD_NAME "libhelloworld-${LIBHELLOWORLD_VERSION_SHORT}" )
Set ( LIBHELLOWORLD_OUTPUTNAME "helloworld" )
Message ( WARNING "Please configure the output name of protject!" )
Set ( LIBHELLOWORLD_VERSION_MAJOR 1 )
Set ( LIBHELLOWORLD_VERSION_MINOR 0 )
Set ( LIBHELLOWORLD_VERSION_PATCH 0 )
Set ( LIBHELLOWORLD_VERSION_BUILD 0 )
Set ( LIBHELLOWORLD_VERSION_HASH "" )
Set ( LIBHELLOWORLD_VERSION_BEHIND 0 )
Set ( LIBHELLOWORLD_VERSION_DIRTY 0 )

# Git Version
If ( LIBHELLOWORLD_USE_GIT_VERSION )
Include ( git_helper OPTIONAL RESULT_VARIABLE HAS_GIT_HELPER )
If ( HAS_GIT_HELPER )
GitGetVersion ( ${CMAKE_CURRENT_LIST_DIR}/..
LIBHELLOWORLD_VERSION_MAJOR
LIBHELLOWORLD_VERSION_MINOR
LIBHELLOWORLD_VERSION_PATCH
LIBHELLOWORLD_VERSION_BUILD
LIBHELLOWORLD_VERSION_HASH
LIBHELLOWORLD_VERSION_BEHIND
LIBHELLOWORLD_VERSION_DIRTY )
EndIf ( )
EndIf ( )

# Strings
Set ( LIBHELLOWORLD_VERSION_SHORT "${LIBHELLOWORLD_VERSION_MAJOR}.${LIBHELLOWORLD_VERSION_MINOR}" )
Set ( LIBHELLOWORLD_VERSION "${LIBHELLOWORLD_VERSION_SHORT}.${LIBHELLOWORLD_VERSION_PATCH}.${LIBHELLOWORLD_VERSION_BUILD}" )
Set ( LIBHELLOWORLD_VERSION_COMPLETE "${LIBHELLOWORLD_VERSION}" )
Set ( LIBHELLOWORLD_NAME "helloworld-${LIBHELLOWORLD_VERSION_SHORT}" )
Set ( LIBHELLOWORLD_OUTPUTNAME "helloworld" )
If ( LIBHELLOWORLD_VERSION_BEHIND )
Set ( LIBHELLOWORLD_VERSION_COMPLETE "${LIBHELLOWORLD_VERSION_COMPLETE}+${LIBHELLOWORLD_VERSION_BEHIND}" )
EndIf ( )

Message ( FATAL_ERROR "Please configure the output name of protject (LIBHELLOWORLD_NAME and LIBHELLOWORLD_OUTPUTNAME)!" )

# Install directories
Set ( LIBHELLOWORLD_INSTALL_DIR_INCLUDE "include/${LIBHELLOWORLD_NAME}" )
Set ( LIBHELLOWORLD_INSTALL_DIR_LIB "lib" )
Set ( LIBHELLOWORLD_INSTALL_DIR_SHARE "share/${LIBHELLOWORLD_NAME}" )
Set ( LIBHELLOWORLD_INSTALL_DIR_INCLUDE "include/${LIBHELLOWORLD_NAME}" )
Set ( LIBHELLOWORLD_INSTALL_DIR_LIB "lib" )
Set ( LIBHELLOWORLD_INSTALL_DIR_SHARE "share/${LIBHELLOWORLD_NAME}" )

# C Standard
Set ( CMAKE_C_STANDARD 11 )
Set ( CMAKE_CXX_STANDARD 17 )
Set ( CMAKE_C_STANDARD_REQUIRED ON )
Set ( CMAKE_CXX_STANDARD_REQUIRED ON )

# Git Version
Include ( git_helper OPTIONAL RESULT_VARIABLE HAS_GIT_HELPER )
If ( HAS_GIT_HELPER )
GitGetVersion ( ${CMAKE_CURRENT_LIST_DIR}/..
LIBHELLOWORLD_VERSION_MAJOR
LIBHELLOWORLD_VERSION_MINOR
LIBHELLOWORLD_VERSION_PATCH
LIBHELLOWORLD_VERSION_BUILD
LIBHELLOWORLD_VERSION_HASH )
EndIf ( )
Set ( CMAKE_C_STANDARD 11 )
Set ( CMAKE_CXX_STANDARD 17 )
Set ( CMAKE_C_STANDARD_REQUIRED ON )
Set ( CMAKE_CXX_STANDARD_REQUIRED ON )

+ 3
- 3
tool View File

@@ -239,7 +239,7 @@ while [ $# -gt 0 ]; do
if [ $# -lt 2 ]; then
Panic "Parameter $1 expects exactly one parameter!"
fi
tmp=$(readlink -f "$2")
tmp=$(readlink -m "$2")
Operations+=("grp:$tmp")
shift
;;
@@ -248,7 +248,7 @@ while [ $# -gt 0 ]; do
if [ $# -lt 3 ]; then
Panic "Parameter $1 expects exactly two parameter!"
fi
tmp=$(readlink -f "$3")
tmp=$(readlink -m "$3")
Operations+=("lib:$2:$tmp")
shift
shift
@@ -258,7 +258,7 @@ while [ $# -gt 0 ]; do
if [ $# -lt 3 ]; then
Panic "Parameter $1 expects exactly two parameter!"
fi
tmp=$(readlink -f "$3")
tmp=$(readlink -m "$3")
Operations+=("exe:$2:$tmp")
shift
shift


Loading…
Cancel
Save