in Utilities/build-script-helper.py [0:0]
def build_with_cmake(args, cmake_args, source_path, build_dir):
"""Runs CMake if needed, then builds with Ninja."""
cache_path = os.path.join(build_dir, "CMakeCache.txt")
if args.reconfigure or not os.path.isfile(cache_path) or not args.swiftc_path in open(cache_path).read():
swift_flags = ""
if args.sysroot:
swift_flags = "-sdk %s" % args.sysroot
cmd = [
args.cmake_path, "-G", "Ninja",
"-DCMAKE_MAKE_PROGRAM=%s" % args.ninja_path,
"-DCMAKE_BUILD_TYPE:=Debug",
"-DCMAKE_Swift_FLAGS=" + swift_flags,
"-DCMAKE_Swift_COMPILER:=%s" % (args.swiftc_path),
] + cmake_args + [source_path]
if args.verbose:
print(' '.join(cmd))
mkdir_p(build_dir)
call(cmd, cwd=build_dir, verbose=True)
# Build.
ninja_cmd = [args.ninja_path]
if args.verbose:
ninja_cmd.append("-v")
call(ninja_cmd, cwd=build_dir, verbose=args.verbose)