Update make/nmake invocations (mostly Windows) (#49022)
The second change technically affects non-Windows, but the behavior should be exactly the same: * Packages no longer have access to `.msbuild` and `.nmake` automatically; they now get them via a dependency on `msvc`. * Update two CMake-based packages that call `make test` to instead call `ctest` (`netcdf-cxx4` and `pegtl`). CMake-based packages should do this because on Windows `make test` will not generally work, but `ctest` does. * Fix `openssl` "make test" on Windows (WRT prior point: not a CMake-based package).
This commit is contained in:
@@ -574,12 +574,10 @@ def set_package_py_globals(pkg, context: Context = Context.BUILD):
|
||||
module.make = DeprecatedExecutable(pkg.name, "make", "gmake")
|
||||
module.gmake = DeprecatedExecutable(pkg.name, "gmake", "gmake")
|
||||
module.ninja = DeprecatedExecutable(pkg.name, "ninja", "ninja")
|
||||
# TODO: johnwparent: add package or builder support to define these build tools
|
||||
# for now there is no entrypoint for builders to define these on their
|
||||
# own
|
||||
|
||||
if sys.platform == "win32":
|
||||
module.nmake = Executable("nmake")
|
||||
module.msbuild = Executable("msbuild")
|
||||
module.nmake = DeprecatedExecutable(pkg.name, "nmake", "msvc")
|
||||
module.msbuild = DeprecatedExecutable(pkg.name, "msbuild", "msvc")
|
||||
# analog to configure for win32
|
||||
module.cscript = Executable("cscript")
|
||||
|
||||
|
@@ -162,6 +162,7 @@ class tty:
|
||||
configure: Executable
|
||||
make_jobs: int
|
||||
make: MakeExecutable
|
||||
nmake: Executable
|
||||
ninja: MakeExecutable
|
||||
python_include: str
|
||||
python_platlib: str
|
||||
|
Reference in New Issue
Block a user