Bläddra i källkod

MSVC build fixes and tweaks

default_compile_flags
vector-of-bool 5 år sedan
förälder
incheckning
c65351dbf0
1 ändrade filer med 8 tillägg och 8 borttagningar
  1. +8
    -8
      tools/build.py

+ 8
- 8
tools/build.py Visa fil

from typing import Sequence, Iterable, Dict, Tuple, List, NamedTuple from typing import Sequence, Iterable, Dict, Tuple, List, NamedTuple
import subprocess import subprocess
import time import time
import re
import sys import sys


ROOT = Path(__file__).parent.parent.absolute() ROOT = Path(__file__).parent.parent.absolute()
'/permissive-', '/permissive-',
'/experimental:preprocessor', '/experimental:preprocessor',
'/wd5105', # winbase.h '/wd5105', # winbase.h
'/wd4459', # Shadowing
'/DWIN32_LEAN_AND_MEAN', '/DWIN32_LEAN_AND_MEAN',
'/DNOMINMAX', '/DNOMINMAX',
'/DFMT_HEADER_ONLY=1', '/DFMT_HEADER_ONLY=1',
'/D_CRT_SECURE_NO_WARNINGS', '/D_CRT_SECURE_NO_WARNINGS',
'/diagnostics:caret', '/diagnostics:caret',
'/experimental:external',
f'/I{ROOT / "src"}', f'/I{ROOT / "src"}',
str(cpp_file), str(cpp_file),
'/c', '/c',
] ]
if have_ccache(): if have_ccache():
cmd.insert(0, 'ccache') cmd.insert(0, 'ccache')
elif have_sccache():
cmd.insert(0, 'sccache')
if opts.debug: if opts.debug:
cmd.extend(('/Od', '/DEBUG', '/Z7')) cmd.extend(('/Od', '/DEBUG', '/Z7'))
else: else:
cmd.append('/MT') cmd.append('/MT')
else: else:
cmd.append('/MD') cmd.append('/MD')
cmd.extend(f'/I{ROOT / subdir}' for subdir in INCLUDE_DIRS)
cmd.extend(f'/external:I{ROOT / subdir}' for subdir in INCLUDE_DIRS)
return cmd return cmd




f'Compile command ({cmd}) failed for {cpp_file}:\n{res.stdout.decode()}' f'Compile command ({cmd}) failed for {cpp_file}:\n{res.stdout.decode()}'
) )
stdout: str = res.stdout.decode() stdout: str = res.stdout.decode()
fname_head = f'{cpp_file.name}\n'
if stdout.startswith(fname_head):
stdout = stdout[len(fname_head):]
stdout = re.sub(r'^{cpp_file.name}\r?\n', stdout, '')
fname_head = f'{cpp_file.name}\r\n'
if stdout: if stdout:
print(stdout, end='') print(stdout, end='')
end = time.time() end = time.time()
'/nologo', '/nologo',
'/W4', '/W4',
'/WX', '/WX',
'/MT',
'/Z7', '/Z7',
'/DEBUG', '/DEBUG',
'rpcrt4.lib',
f'/Fe{out}', f'/Fe{out}',
str(lib), str(lib),
str(obj), str(obj),
static=args.static, static=args.static,
debug=args.debug) debug=args.debug)


objects = compile_sources(build_opts, all_sources)
objects = compile_sources(build_opts, sorted(all_sources))


lib = make_library(build_opts, (objects[p] for p in lib_sources)) lib = make_library(build_opts, (objects[p] for p in lib_sources))



Laddar…
Avbryt
Spara