Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
executable file
·
72 lines (59 loc) · 2.31 KB

File metadata and controls

executable file
·
72 lines (59 loc) · 2.31 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/env python3
# Copyright 2016 The Emscripten Authors. All rights reserved.
# Emscripten is available under two separate licenses, the MIT license and the
# University of Illinois/NCSA Open Source License. Both these licenses can be
# found in the LICENSE file.
import sys
import os
from tools import building
from tools import shared
from tools import config
from tools import utils
from subprocess import CalledProcessError
#
# Main run() function
#
def run():
if len(sys.argv) < 2 or sys.argv[1] in ('--version', '--help'):
print('''\
emcmake is a helper for cmake, setting various environment
variables so that emcc etc. are used. Typical usage:
emcmake cmake [FLAGS]
''', file=sys.stderr)
return 1
args = sys.argv[1:]
def has_substr(args, substr):
return any(substr in s for s in args)
# Append the Emscripten toolchain file if the user didn't specify one.
if not has_substr(args, '-DCMAKE_TOOLCHAIN_FILE'):
args.append('-DCMAKE_TOOLCHAIN_FILE=' + utils.path_from_root('cmake', 'Modules', 'Platform', 'Emscripten.cmake'))
if not has_substr(args, '-DCMAKE_CROSSCOMPILING_EMULATOR'):
node_js = config.NODE_JS[0]
args.append(f'-DCMAKE_CROSSCOMPILING_EMULATOR={node_js}')
# On Windows specify MinGW Makefiles or ninja if we have them and no other
# toolchain was specified, to keep CMake from pulling in a native Visual
# Studio, or Unix Makefiles.
if utils.WINDOWS and '-G' not in args:
if utils.which('mingw32-make'):
args += ['-G', 'MinGW Makefiles']
elif utils.which('ninja'):
args += ['-G', 'Ninja']
else:
print('emcmake: no compatible cmake generator found; Please install ninja or mingw32-make, or specify a generator explicitly using -G', file=sys.stderr)
return 1
# CMake has a requirement that it wants sh.exe off PATH if MinGW Makefiles
# is being used. This happens quite often, so do this automatically on
# behalf of the user. See
# http://www.cmake.org/Wiki/CMake_MinGW_Compiler_Issues
if utils.WINDOWS and 'MinGW Makefiles' in args:
env = building.remove_sh_exe_from_path(os.environ)
else:
env = None
print('configure: ' + shared.shlex_join(args), file=sys.stderr)
try:
shared.check_call(args, env=env)
return 0
except CalledProcessError as e:
return e.returncode
if __name__ == '__main__':
sys.exit(run())
Morty Proxy This is a proxified and sanitized view of the page, visit original site.