mirror of
				https://github.com/XRPLF/clio.git
				synced 2025-11-04 03:45:50 +00:00 
			
		
		
		
	…s to set version Advantages: - not modifying src dir in build time (`git clean` will also remove less) - simpler codecov (if we decide to move it to separate stage in the future) - The cpp file is perfectly valid, so it will be treated as a C++ files by all the tooling - No need to use CMAKE_PROJECT_INCLUDE_BEFORE, should work fine without it - Instead of generating + recompiling, we will just be doing recompilation of 1 file
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
find_package(Git REQUIRED)
 | 
						|
 | 
						|
set(GIT_COMMAND describe --tags --exact-match)
 | 
						|
execute_process(
 | 
						|
  COMMAND ${GIT_EXECUTABLE} ${GIT_COMMAND}
 | 
						|
  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
 | 
						|
  OUTPUT_VARIABLE TAG
 | 
						|
  RESULT_VARIABLE RC
 | 
						|
  OUTPUT_STRIP_TRAILING_WHITESPACE
 | 
						|
)
 | 
						|
 | 
						|
if (RC EQUAL 0)
 | 
						|
  # if we are on a tag, use the tag name
 | 
						|
  set(CLIO_VERSION "${TAG}")
 | 
						|
  set(DOC_CLIO_VERSION "${TAG}")
 | 
						|
else ()
 | 
						|
  # if not, use YYYYMMDDHMS-<branch>-<git-rev>
 | 
						|
 | 
						|
  set(GIT_COMMAND show -s --date=format:%Y%m%d%H%M%S --format=%cd)
 | 
						|
  execute_process(
 | 
						|
    COMMAND ${GIT_EXECUTABLE} ${GIT_COMMAND} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE DATE
 | 
						|
    OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY
 | 
						|
  )
 | 
						|
 | 
						|
  set(GIT_COMMAND branch --show-current)
 | 
						|
  execute_process(
 | 
						|
    COMMAND ${GIT_EXECUTABLE} ${GIT_COMMAND} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE BRANCH
 | 
						|
    OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY
 | 
						|
  )
 | 
						|
 | 
						|
  set(GIT_COMMAND rev-parse --short HEAD)
 | 
						|
  execute_process(
 | 
						|
    COMMAND ${GIT_EXECUTABLE} ${GIT_COMMAND} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE REV
 | 
						|
    OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY
 | 
						|
  )
 | 
						|
 | 
						|
  set(CLIO_VERSION "${DATE}-${BRANCH}-${REV}")
 | 
						|
  set(DOC_CLIO_VERSION "develop")
 | 
						|
endif ()
 | 
						|
 | 
						|
if (CMAKE_BUILD_TYPE MATCHES Debug)
 | 
						|
  set(CLIO_VERSION "${CLIO_VERSION}+DEBUG")
 | 
						|
endif ()
 | 
						|
 | 
						|
message(STATUS "Build version: ${CLIO_VERSION}")
 |