diff options
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/genrev.cmake | 27 | ||||
| -rw-r--r-- | cmake/showoptions.cmake | 5 |
2 files changed, 18 insertions, 14 deletions
diff --git a/cmake/genrev.cmake b/cmake/genrev.cmake index 043f6f0b9ad..37cea9b3deb 100644 --- a/cmake/genrev.cmake +++ b/cmake/genrev.cmake @@ -40,27 +40,30 @@ if(_GIT_VERSION_OK) OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) + execute_process( + COMMAND "${_GIT_EXEC}" show -s --format=%ci + WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" + OUTPUT_VARIABLE rev_date + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) else() message("") message(STATUS "WARNING - Missing or outdated git - did you forget to install a recent version?") - message(STATUS "WARNING - Observe that for revision ID/hash to work you need at least version ${_REQUIRED_GIT_VERSION}") - message(STATUS "WARNING - Continuing anyway, but setting the revision-ID and hash to Rev:0 Hash: Archive") - message("") + message(STATUS "WARNING - Observe that for revision hash/date to work you need at least version ${_REQUIRED_GIT_VERSION}") endif() # Last minute check - ensure that we have a proper revision # If everything above fails (means the user has erased the git revision control directory or removed the origin/HEAD tag) if(NOT rev_info) # No valid ways available to find/set the revision/hash, so let's force some defaults - message("") message(STATUS "WARNING - Missing repository tags - you may need to pull tags with git fetch -t") - message(STATUS "WARNING - Continuing, but the hash will be set to 'Archive'") - set(rev_hash_str "Archive") - set(rev_hash "0") + message(STATUS "WARNING - Continuing anyway - note that the versionstring will be set to 0000-00-00 00:00:00 (Archived)") + set(rev_date "0000-00-00 00:00:00 +0000") + set(rev_hash "Archived") else() - # Extract revision and hash from git - string(REGEX REPLACE init-|[0-9]+-g "" rev_hash_str ${rev_info}) - string(REGEX REPLACE [+]+ "" rev_hash ${rev_hash_str}) + # Extract information required to build a proper versionstring + string(REGEX REPLACE init-|[0-9]+-g "" rev_hash ${rev_info}) endif() # Its not set during initial run @@ -69,11 +72,11 @@ if(NOT BUILDDIR) endif() # Create the actual revision.h file from the above params -if(NOT "${rev_hash_cached}" MATCHES "${rev_hash_str}") +if(NOT "${rev_hash_cached}" MATCHES "${rev_hash}") configure_file( "${CMAKE_SOURCE_DIR}/revision.h.in.cmake" "${BUILDDIR}/revision.h" @ONLY ) - set(rev_hash_cached "${rev_hash_str}" CACHE INTERNAL "Cached commit-hash") + set(rev_hash_cached "${rev_hash}" CACHE INTERNAL "Cached commit-hash") endif() diff --git a/cmake/showoptions.cmake b/cmake/showoptions.cmake index 84d72356d06..31e1b412b32 100644 --- a/cmake/showoptions.cmake +++ b/cmake/showoptions.cmake @@ -1,8 +1,9 @@ # output generic information about the core and buildtype chosen message("") -message("* TrinityCore commithash : ${rev_hash_str}") +message("* TrinityCore rev. hash : ${rev_hash}") +message("* TrinityCore rev. date : ${rev_date}") if( UNIX ) - message("* Build binaries in : ${CMAKE_BUILD_TYPE} mode") + message("* TrinityCore buildtype : ${CMAKE_BUILD_TYPE}") endif() message("") |
