diff --git a/build/fbcode_builder/getdeps.py b/build/fbcode_builder/getdeps.py index fc7229fa6..cf76609ad 100755 --- a/build/fbcode_builder/getdeps.py +++ b/build/fbcode_builder/getdeps.py @@ -222,6 +222,11 @@ class BuildCmd(SubCmd): install_dirs = [] for m in projects: + ctx = dict(ctx) + if args.enable_tests and m.name == manifest.name: + ctx["test"] = "on" + else: + ctx["test"] = "off" fetcher = m.create_fetcher(opts, ctx) if args.clean: @@ -287,6 +292,15 @@ class BuildCmd(SubCmd): "slow up-to-date-ness checks" ), ) + parser.add_argument( + "--enable-tests", + action="store_true", + default=False, + help=( + "For the named project, build tests so that the test command " + "is able to execute tests" + ), + ) @cmd("test", "test a given project") @@ -296,6 +310,7 @@ class TestCmd(SubCmd): manifest = load_project(opts, args.project) ctx = context_from_host_tuple() + ctx["test"] = "on" projects = manifests_in_dependency_order(opts, manifest, ctx) manifests_by_name = {m.name: m for m in projects} diff --git a/build/fbcode_builder/manifests/fbthrift b/build/fbcode_builder/manifests/fbthrift index 8052d7d5c..dde36e37a 100644 --- a/build/fbcode_builder/manifests/fbthrift +++ b/build/fbcode_builder/manifests/fbthrift @@ -24,6 +24,12 @@ zstd [dependencies.any(os=windows, os=darwin)] bison +[cmake.defines.test=on] +BUILD_TESTS=ON + +[cmake.defines.test=off] +BUILD_TESTS=OFF + [shipit.pathmap] fbcode/thrift/public_tld = . fbcode/thrift = thrift diff --git a/build/fbcode_builder/manifests/folly b/build/fbcode_builder/manifests/folly index 1ac3e77c6..1de6e1d37 100644 --- a/build/fbcode_builder/manifests/folly +++ b/build/fbcode_builder/manifests/folly @@ -49,4 +49,9 @@ fbcode/folly = folly [cmake.defines] BUILD_SHARED_LIBS=OFF + +[cmake.defines.test=on] BUILD_TESTS=ON + +[cmake.defines.test=off] +BUILD_TESTS=OFF diff --git a/build/fbcode_builder/manifests/wangle b/build/fbcode_builder/manifests/wangle index 876c2dbf3..6b330d620 100644 --- a/build/fbcode_builder/manifests/wangle +++ b/build/fbcode_builder/manifests/wangle @@ -11,8 +11,11 @@ repo_url = https://github.com/facebook/wangle.git builder = cmake subdir = wangle -[cmake.defines] -BUILD_TESTS = ON +[cmake.defines.test=on] +BUILD_TESTS=ON + +[cmake.defines.test=off] +BUILD_TESTS=OFF [dependencies] folly