Skip to content

Commit 0e86eba

Browse files
committed
[bootstrap] Add swift-argument-parser as a swift-driver dependency
1 parent a476889 commit 0e86eba

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ find_package(dispatch QUIET)
4343
find_package(Foundation QUIET)
4444

4545
find_package(Yams CONFIG REQUIRED)
46+
find_package(ArgumentParser CONFIG REQUIRED)
4647
find_package(SwiftDriver CONFIG REQUIRED)
4748

4849
add_subdirectory(Sources)

Sources/Build/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ target_link_libraries(Build PUBLIC
2020
SPMBuildCore
2121
CYaml
2222
Yams
23+
ArgumentParser
2324
SwiftDriver)
2425

2526
# NOTE(compnerd) workaround for CMake not setting up include flags yet

Utilities/bootstrap

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ def parse_global_args(args):
151151
args.project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
152152
args.tsc_source_dir = os.path.join(args.project_root, "swift-tools-support-core")
153153
args.yams_source_dir = os.path.join(args.project_root, "..", "yams")
154+
args.swift_argument_parser_source_dir = os.path.join(args.project_root, "..", "swift-argument-parser")
154155
args.swift_driver_source_dir = os.path.join(args.project_root, "..", "swift-driver")
155156
args.source_root = os.path.join(args.project_root, "Sources")
156157

@@ -278,6 +279,7 @@ def build(args):
278279

279280
build_tsc(args)
280281
build_yams(args)
282+
build_swift_argument_parser(args)
281283
build_swift_driver(args)
282284
build_swiftpm_with_cmake(args)
283285
build_swiftpm_with_swiftpm(args)
@@ -460,6 +462,17 @@ def build_yams(args):
460462

461463
build_with_cmake(args, cmake_flags, args.yams_source_dir, args.yams_build_dir)
462464

465+
def build_swift_argument_parser(args):
466+
note("Building swift-argument-parser")
467+
args.swift_argument_parser_build_dir = os.path.join(args.target_dir, "swift-argument-parser")
468+
469+
cmake_flags = []
470+
if platform.system() == 'Darwin':
471+
cmake_flags.append("-DCMAKE_OSX_DEPLOYMENT_TARGET=%s" % g_macos_deployment_target)
472+
473+
cmake_flags.append("-DBUILD_TESTING=NO")
474+
build_with_cmake(args, cmake_flags, args.swift_argument_parser_source_dir, args.swift_argument_parser_build_dir)
475+
463476
def build_swift_driver(args):
464477
note("Building SwiftDriver")
465478
args.swift_driver_build_dir = os.path.join(args.target_dir, "swift-driver")
@@ -468,6 +481,7 @@ def build_swift_driver(args):
468481
get_llbuild_cmake_arg(args),
469482
"-DTSC_DIR=" + os.path.join(args.tsc_build_dir, "cmake/modules"),
470483
"-DYams_DIR=" + os.path.join(args.yams_build_dir, "cmake/modules"),
484+
"-DArgumentParser_DIR=" + os.path.join(args.swift_argument_parser_build_dir, "cmake/modules"),
471485
]
472486
if platform.system() == 'Darwin':
473487
cmake_flags.append("-DCMAKE_C_FLAGS=-target x86_64-apple-macosx%s" % g_macos_deployment_target)
@@ -490,6 +504,7 @@ def build_swiftpm_with_cmake(args):
490504
get_llbuild_cmake_arg(args),
491505
"-DTSC_DIR=" + os.path.join(args.tsc_build_dir, "cmake/modules"),
492506
"-DYams_DIR=" + os.path.join(args.yams_build_dir, "cmake/modules"),
507+
"-DArgumentParser_DIR=" + os.path.join(args.swift_argument_parser_build_dir, "cmake/modules"),
493508
"-DSwiftDriver_DIR=" + os.path.join(args.swift_driver_build_dir, "cmake/modules"),
494509
]
495510

@@ -504,6 +519,7 @@ def build_swiftpm_with_cmake(args):
504519

505520
if platform.system() == "Darwin":
506521
add_rpath_for_cmake_build(args, os.path.join(args.yams_build_dir, "lib"))
522+
add_rpath_for_cmake_build(args, os.path.join(args.swift_argument_parser_build_dir, "lib"))
507523
add_rpath_for_cmake_build(args, os.path.join(args.swift_driver_build_dir, "lib"))
508524

509525
def build_swiftpm_with_swiftpm(args):
@@ -585,6 +601,7 @@ def get_swiftpm_env_cmd(args):
585601
os.path.join(args.tsc_build_dir, "lib"),
586602
os.path.join(args.llbuild_build_dir, "lib"),
587603
os.path.join(args.yams_build_dir, "lib"),
604+
os.path.join(args.swift_argument_parser_build_dir, "lib"),
588605
os.path.join(args.swift_driver_build_dir, "lib"),
589606
])
590607

0 commit comments

Comments
 (0)