Compare commits
	
		
			5 Commits
		
	
	
		
			v1.0.0-rc5
			...
			b726d5ba75
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| b726d5ba75 | |||
| bfb587360d | |||
| f964ef7b60 | |||
| dd05449f36 | |||
| 3ff626134e | 
| @@ -28,8 +28,6 @@ pkg_check_modules(ELF REQUIRED libelf) | ||||
| find_package(Doxygen) | ||||
| find_package(LibXml2 REQUIRED) | ||||
|  | ||||
| add_subdirectory(man) | ||||
|  | ||||
| aux_source_directory("src" CFILES) | ||||
|  | ||||
| set(GEN_HEADER_PATH "${CMAKE_CURRENT_BINARY_DIR}/include/generated") | ||||
| @@ -37,11 +35,14 @@ set(GEN_HEADER_PATH "${CMAKE_CURRENT_BINARY_DIR}/include/generated") | ||||
| add_custom_target( | ||||
| 		version-header | ||||
| 	COMMAND | ||||
| 		mkdir -p ${GEN_HEADER_PATH} && bash "${CMAKE_CURRENT_SOURCE_DIR}/gen_version_header.sh" "${GEN_HEADER_PATH}/version.h" | ||||
| 		${CMAKE_COMMAND} -D SRC=${CMAKE_SOURCE_DIR}/version.h.template | ||||
| 					 -D DST=${GEN_HEADER_PATH}/version.h | ||||
| 					 -P ${CMAKE_SOURCE_DIR}/GenerateVersion.cmake | ||||
| 	WORKING_DIRECTORY | ||||
| 		${CMAKE_CURRENT_SOURCE_DIR} | ||||
| 	COMMENT "Generating version header" | ||||
| 	) | ||||
| 	add_subdirectory(man) | ||||
|  | ||||
| add_custom_target(schema-header DEPENDS "${GEN_HEADER_PATH}/schema-blob.h") | ||||
| add_custom_command( | ||||
| @@ -66,7 +67,8 @@ target_link_directories(${PROJECT_NAME} PRIVATE ${ELF_LIBRARY_DIRS} ${LIBXML2_LI | ||||
| target_include_directories(${PROJECT_NAME} PRIVATE ${ELF_INCLUDE_DIRS}) | ||||
| target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/include") | ||||
| target_include_directories(${PROJECT_NAME} PRIVATE "include") | ||||
| add_dependencies(${PROJECT_NAME} version-header schema-header) | ||||
| add_dependencies(${PROJECT_NAME} schema-header) | ||||
| add_dependencies(${PROJECT_NAME} version-header) | ||||
|  | ||||
| if (DOXYGEN_FOUND) | ||||
| 	set(DOXYFILE_SRC "${CMAKE_CURRENT_SOURCE_DIR}/doxygen/Doxyfile.in") | ||||
| @@ -83,11 +85,13 @@ if (DOXYGEN_FOUND) | ||||
|  | ||||
| 	add_custom_target(doxygen-version-header | ||||
| 		COMMAND | ||||
| 			bash ${CMAKE_CURRENT_SOURCE_DIR}/doxygen/gen-version-string.sh "${CMAKE_CURRENT_BINARY_DIR}/doxyversion.in" | ||||
| 			${CMAKE_COMMAND} -D SRC="${CMAKE_SOURCE_DIR}/doxyversion.in.template" | ||||
| 					 -D DST="${CMAKE_CURRENT_BINARY_DIR}/doxyversion.in" | ||||
| 					 -P ${CMAKE_SOURCE_DIR}/GenerateVersion.cmake | ||||
| 		WORKING_DIRECTORY | ||||
| 			${CMAKE_CURRENT_SOURCE_DIR} | ||||
| 	) | ||||
| else (DOXYGEN_FOUND) | ||||
| else  (DOXYGEN_FOUND) | ||||
| 	message("${BoldMagenta}Doxygen needs to be installed to generate the doxygen documentation${ColorReset}") | ||||
| 	message("${BoldMagenta}doxygen target will not be available${ColorReset}") | ||||
| endif (DOXYGEN_FOUND) | ||||
| endif  (DOXYGEN_FOUND) | ||||
|   | ||||
							
								
								
									
										26
									
								
								GenerateVersion.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								GenerateVersion.cmake
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| find_package(Git) | ||||
|  | ||||
| if(GIT_EXECUTABLE) | ||||
|   get_filename_component(WORKING_DIR ${SRC} DIRECTORY) | ||||
|   execute_process( | ||||
|     COMMAND ${GIT_EXECUTABLE} describe --always --dirty | ||||
|     WORKING_DIRECTORY ${WORKING_DIR} | ||||
|     OUTPUT_VARIABLE PROGRAM_GIT_VERSION | ||||
|     RESULT_VARIABLE ERROR_CODE | ||||
|     OUTPUT_STRIP_TRAILING_WHITESPACE | ||||
|     ) | ||||
|  | ||||
|   if(NOT ERROR_CODE EQUAL "0") | ||||
|     set(PROGRAM_GIT_VERSION "") | ||||
|   endif() | ||||
|  | ||||
| endif() | ||||
|  | ||||
| if(PROGRAM_GIT_VERSION STREQUAL "") | ||||
|   set(PROGRAM_GIT_VERSION 0.0.0-unknown) | ||||
|   message(WARNING "Failed to determine version from Git tags. Using default version \"${PROGRAM_GIT_VERSION}\".") | ||||
| else() | ||||
| message("Git Version: \"${PROGRAM_GIT_VERSION}\".") | ||||
| endif() | ||||
|  | ||||
| configure_file(${SRC} ${DST} @ONLY) | ||||
							
								
								
									
										1
									
								
								doxyversion.in.template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								doxyversion.in.template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| @PROGRAM_GIT_VERSION@ | ||||
| @@ -1 +0,0 @@ | ||||
| echo `git describe --tags --always --dirty` | ||||
| @@ -1,11 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| if [[ -z $1 ]]; then | ||||
| 	exit -1; | ||||
| fi | ||||
|  | ||||
| ver=`git describe --tags --always --dirty` | ||||
| echo "#ifndef _VERSION_GENERATED_H_" > $1 | ||||
| echo "#define _VERSION_GENERATED_H_" >> $1 | ||||
| echo "#define GIT_VERSION_STRING \"$ver\"" >> $1 | ||||
| echo "#endif /* _VERSION_GENERATED_H_ */" >> $1 | ||||
							
								
								
									
										4
									
								
								version.h.template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								version.h.template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| #ifndef _GENRATED_VERSION_H_ | ||||
| #define _GENRATED_VERSION_H_ | ||||
| #define GIT_VERSION_STRING "@PROGRAM_GIT_VERSION@" | ||||
| #endif /* _GENRATED_VERSION_H_ */ | ||||
		Reference in New Issue
	
	Block a user