You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.4 KiB
CMake
45 lines
1.4 KiB
CMake
4 months ago
|
#
|
||
|
# Find svnversion
|
||
|
#
|
||
|
function(get_svn_version)
|
||
|
message( STATUS "Detecting svnversion" )
|
||
|
find_program( SVNVERSION_EXECUTABLE svnversion )
|
||
|
mark_as_advanced( SVNVERSION_EXECUTABLE )
|
||
|
if( SVNVERSION_EXECUTABLE )
|
||
|
message( STATUS "Found svnversion: ${SVNVERSION_EXECUTABLE}" )
|
||
|
endif()
|
||
|
message( STATUS "Detecting svnversion - done" )
|
||
|
#
|
||
|
# Find Subversion
|
||
|
#
|
||
|
message( STATUS "Detecting Subversion" )
|
||
|
find_package( Subversion )
|
||
|
message( STATUS "Detecting Subversion - done" )
|
||
|
#
|
||
|
# SVNVERSION
|
||
|
#
|
||
|
if( SVNVERSION_EXECUTABLE )
|
||
|
message( STATUS "Getting svn version" )
|
||
|
execute_process( COMMAND ${SVNVERSION_EXECUTABLE} ${PROJECT_SOURCE_DIR}
|
||
|
OUTPUT_VARIABLE SVNVERSION
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
||
|
if( SVNVERSION MATCHES "^Unversioned" )
|
||
|
set( SVNVERSION )
|
||
|
endif()
|
||
|
string( REGEX REPLACE "[^1234567890MSexported]" "_" SVNVERSION "${SVNVERSION}" )
|
||
|
message( STATUS "Found SVNversion: ${SVNVERSION}" )
|
||
|
message( STATUS "Getting svn version - done" )
|
||
|
endif()
|
||
|
if( Subversion_FOUND AND SVNVERSION )
|
||
|
message( STATUS "Getting svn branch" )
|
||
|
Subversion_WC_INFO( ${PROJECT_SOURCE_DIR} rAthena )
|
||
|
if( rAthena_WC_URL )
|
||
|
string( REGEX MATCH "[^/]+$" BRANCH ${rAthena_WC_URL} )
|
||
|
set( SVNVERSION "${BRANCH}-${SVNVERSION}" )
|
||
|
message( STATUS "Found branch: ${BRANCH}" )
|
||
|
endif()
|
||
|
message( STATUS "Getting svn branch - done" )
|
||
|
endif()
|
||
|
set(SVNVERSION ${SVNVERSION} PARENT_SCOPE)
|
||
|
endfunction()
|