CMake use extract version from version.h
This commit is contained in:
		@@ -2,8 +2,17 @@
 | 
				
			|||||||
# Distributed under the MIT License (http://opensource.org/licenses/MIT)
 | 
					# Distributed under the MIT License (http://opensource.org/licenses/MIT)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cmake_minimum_required(VERSION 3.1)
 | 
					cmake_minimum_required(VERSION 3.1)
 | 
				
			||||||
project(spdlog VERSION 1.3.1 LANGUAGES CXX)
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#---------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Start spdlog project
 | 
				
			||||||
 | 
					#---------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					include(cmake/version.cmake)
 | 
				
			||||||
 | 
					project(spdlog VERSION ${SPDLOG_VERSION} LANGUAGES CXX)
 | 
				
			||||||
 | 
					message(STATUS "Build spdlog: ${SPDLOG_VERSION}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include(GNUInstallDirs)
 | 
					include(GNUInstallDirs)
 | 
				
			||||||
 | 
					include(cmake/ide.cmake)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#---------------------------------------------------------------------------------------
 | 
					#---------------------------------------------------------------------------------------
 | 
				
			||||||
# Set default build to release
 | 
					# Set default build to release
 | 
				
			||||||
@@ -40,12 +49,12 @@ option(SPDLOG_FMT_EXTERNAL "Use external fmt library instead of bundled" OFF)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
 | 
					message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
find_package(Threads REQUIRED)
 | 
					find_package(Threads REQUIRED)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#---------------------------------------------------------------------------------------
 | 
					#---------------------------------------------------------------------------------------
 | 
				
			||||||
# Static library version
 | 
					# Static library version
 | 
				
			||||||
#---------------------------------------------------------------------------------------
 | 
					#---------------------------------------------------------------------------------------
 | 
				
			||||||
include(cmake/ide.cmake)
 | 
					 | 
				
			||||||
add_library(spdlog STATIC src/spdlog.cpp ${SPDLOG_ALL_HEADERS})
 | 
					add_library(spdlog STATIC src/spdlog.cpp ${SPDLOG_ALL_HEADERS})
 | 
				
			||||||
add_library(spdlog::spdlog ALIAS spdlog)
 | 
					add_library(spdlog::spdlog ALIAS spdlog)
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										16
									
								
								cmake/version.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								cmake/version.cmake
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					#---------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Get spdlog version from include/spdlog/version.h
 | 
				
			||||||
 | 
					#---------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					file(READ "${CMAKE_CURRENT_LIST_DIR}/../include/spdlog/version.h" SPDLOG_VERSION_FILE)
 | 
				
			||||||
 | 
					string(REGEX MATCH "SPDLOG_VER_MAJOR ([0-9]+)" _  "${SPDLOG_VERSION_FILE}")
 | 
				
			||||||
 | 
					set(ver_major ${CMAKE_MATCH_1})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					string(REGEX MATCH "SPDLOG_VER_MINOR ([0-9]+)" _  "${SPDLOG_VERSION_FILE}")
 | 
				
			||||||
 | 
					set(ver_minor ${CMAKE_MATCH_1})
 | 
				
			||||||
 | 
					string(REGEX MATCH "SPDLOG_VER_PATCH ([0-9]+)" _  "${SPDLOG_VERSION_FILE}")
 | 
				
			||||||
 | 
					set(ver_patch ${CMAKE_MATCH_1})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (NOT ver_major OR NOT ver_minor OR NOT ver_patch)
 | 
				
			||||||
 | 
					    message(FATAL_ERROR "Could not extract valid version from spdlog/version.h")
 | 
				
			||||||
 | 
					endif()
 | 
				
			||||||
 | 
					set (SPDLOG_VERSION "${ver_major}.${ver_minor}.${ver_patch}")    
 | 
				
			||||||
		Reference in New Issue
	
	Block a user