You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							46 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							46 lines
						
					
					
						
							1.5 KiB
						
					
					
				| # 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) | |
|     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()
 |