63 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| '''
 | |
| This file is part of Telegram Desktop,
 | |
| the official desktop application for the Telegram messaging service.
 | |
| 
 | |
| For license and copyright information please follow this link:
 | |
| https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
 | |
| '''
 | |
| import sys, os, re
 | |
| 
 | |
| sys.dont_write_bytecode = True
 | |
| scriptPath = os.path.dirname(os.path.realpath(__file__))
 | |
| sys.path.append(scriptPath + '/../cmake')
 | |
| import run_cmake
 | |
| 
 | |
| executePath = os.getcwd()
 | |
| def finish(code):
 | |
|     global executePath
 | |
|     os.chdir(executePath)
 | |
|     sys.exit(code)
 | |
| 
 | |
| def error(message):
 | |
|     print('[ERROR] ' + message)
 | |
|     finish(1)
 | |
| 
 | |
| if sys.platform == 'win32' and 'COMSPEC' not in os.environ:
 | |
|     error('COMSPEC environment variable is not set.')
 | |
| 
 | |
| executePath = os.getcwd()
 | |
| scriptPath = os.path.dirname(os.path.realpath(__file__))
 | |
| scriptName = os.path.basename(scriptPath)
 | |
| 
 | |
| arguments = sys.argv[1:]
 | |
| 
 | |
| officialTarget = ''
 | |
| officialTargetFile = scriptPath + '/build/target'
 | |
| if os.path.isfile(officialTargetFile):
 | |
|     with open(officialTargetFile, 'r') as f:
 | |
|         for line in f:
 | |
|             officialTarget = line.strip()
 | |
| 
 | |
| arch = ''
 | |
| if officialTarget in ['win', 'uwp']:
 | |
|     arch = 'x86'
 | |
| elif officialTarget in ['win64', 'uwp64']:
 | |
|     arch = 'x64'
 | |
| 
 | |
| if officialTarget != '':
 | |
|     officialApiIdFile = scriptPath + '/../../DesktopPrivate/custom_api_id.h'
 | |
|     if not os.path.isfile(officialApiIdFile):
 | |
|         print("[ERROR] DesktopPrivate/custom_api_id.h not found.")
 | |
|         finish(1)
 | |
|     with open(officialApiIdFile, 'r') as f:
 | |
|         for line in f:
 | |
|             apiIdMatch = re.search(r'ApiId\s+=\s+(\d+)', line)
 | |
|             apiHashMatch = re.search(r'ApiHash\s+=\s+"([a-fA-F\d]+)"', line)
 | |
|             if apiIdMatch:
 | |
|                 arguments.append('-DTDESKTOP_API_ID=' + apiIdMatch.group(1))
 | |
|             elif apiHashMatch:
 | |
|                 arguments.append('-DTDESKTOP_API_HASH=' + apiHashMatch.group(1))
 | |
|     if arch != '':
 | |
|         arguments.append(arch)
 | |
| 
 | |
| finish(run_cmake.run(scriptName, arguments))
 | 
