mirror of
				https://github.com/PaddlePaddle/FastDeploy.git
				synced 2025-11-01 04:12:58 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| # The utility function DetermineOSVersion aims at providing an
 | |
| # improved version of the CMake variable ${CMAKE_SYSTEM} on Windows
 | |
| # machines.
 | |
| #
 | |
| # Usage:
 | |
| #  include(EigenDetermineOSVersion)
 | |
| #  DetermineOSVersion(OS_VERSION)
 | |
| #  message("OS: ${OS_VERSION}")
 | |
| 
 | |
| # - A little helper variable which should not be directly called
 | |
| function(DetermineShortWindowsName WIN_VERSION win_num_version)
 | |
|    if    (${win_num_version} VERSION_EQUAL "6.1")
 | |
|        set(_version "win7")
 | |
|    elseif(${win_num_version} VERSION_EQUAL "6.0")
 | |
|        set(_version "winVista")
 | |
|    elseif(${win_num_version} VERSION_EQUAL "5.2")
 | |
|        set(_version "winXpProf")
 | |
|    elseif(${win_num_version} VERSION_EQUAL "5.1")
 | |
|        set(_version "winXp")
 | |
|    elseif(${win_num_version} VERSION_EQUAL "5.0")
 | |
|        set(_version "win2000Prof")
 | |
|    else()
 | |
|        set(_version "unknownWin")
 | |
|    endif()
 | |
|    set(${WIN_VERSION} ${_version} PARENT_SCOPE)
 | |
| endfunction()
 | |
| 
 | |
| function(DetermineOSVersion OS_VERSION)
 | |
|   if (WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
 | |
|     file (TO_NATIVE_PATH "$ENV{COMSPEC}" SHELL)
 | |
|     exec_program( ${SHELL} ARGS "/c" "ver" OUTPUT_VARIABLE ver_output)
 | |
| 				
 | |
|       string(REGEX MATCHALL "[0-9]+"
 | |
|            ver_list "${ver_output}")
 | |
|       list(GET ver_list 0 _major)		   
 | |
|       list(GET ver_list 1 _minor)
 | |
| 				
 | |
|     set(win_num_version ${_major}.${_minor})
 | |
|     DetermineShortWindowsName(win_version "${win_num_version}")
 | |
|     if(win_version)
 | |
|       set(${OS_VERSION} ${win_version} PARENT_SCOPE)
 | |
|     endif()
 | |
|   else()
 | |
|     set(${OS_VERSION} ${CMAKE_SYSTEM} PARENT_SCOPE)
 | |
|   endif()
 | |
| endfunction()
 | 
