diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9db808760..03f277fca 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -96,6 +96,7 @@ outputs: - {{ pin_subpackage('yggdrasil.zmq', exact=True) }} # [win] - cmake # [not win] - compiler-rt # [osx] + - m2w64-make # [win] - make # [not win] - {{ compiler('c') }} - {{ compiler('cxx') }} diff --git a/utils/requirements/requirements.json b/utils/requirements/requirements.json index a7e6aa721..315fd13bc 100644 --- a/utils/requirements/requirements.json +++ b/utils/requirements/requirements.json @@ -122,8 +122,17 @@ }, { "make": { - "method": "conda", - "os": "unix" + "options": [ + { + "method": "conda", + "os": "unix" + }, + { + "name": "m2w64-make", + "method": "conda", + "os": "win" + } + ] } }, { diff --git a/utils/requirements/requirements.yaml b/utils/requirements/requirements.yaml index 85c629b2b..d6e8b23d2 100644 --- a/utils/requirements/requirements.yaml +++ b/utils/requirements/requirements.yaml @@ -72,8 +72,12 @@ extras: method: conda os: unix - make: - method: conda - os: unix + options: + - method: conda + os: unix + - name: m2w64-make + method: conda + os: win - "{{ compiler('c') }}": method: conda_recipe - "{{ compiler('cxx') }}": diff --git a/utils/requirements/requirements_condaonly.txt b/utils/requirements/requirements_condaonly.txt index 1fd666069..f04e4a59e 100644 --- a/utils/requirements/requirements_condaonly.txt +++ b/utils/requirements/requirements_condaonly.txt @@ -7,6 +7,7 @@ git # [conda] juliaup # [conda,julia] lz4 # [conda,zmq] m2w64-gcc-fortran; platform_system == 'Windows' # [conda,fortran] +m2w64-make; platform_system == 'Windows' # [conda,c] m2w64-toolchain_win-64; platform_system == 'Windows' # [conda,fortran] make; platform_system != 'Windows' # [conda,c] matplotlib-base # [conda] diff --git a/yggdrasil/drivers/OSRModelDriver.py b/yggdrasil/drivers/OSRModelDriver.py index c5d90949c..a2fa434f4 100644 --- a/yggdrasil/drivers/OSRModelDriver.py +++ b/yggdrasil/drivers/OSRModelDriver.py @@ -192,8 +192,10 @@ def compile_dependencies(cls, target='OpenSimRootYgg', toolname=None, elif not os.path.isfile(cls.executable_path): return cmd = ['make', target] + flags - logger.info(f"Calling {cmd} from {cwd} with make=" - f"{shutil.which('make')}") + logger.info( + f"Calling {cmd} from {cwd} with make=" + f"{shutil.which('make')} and PATH=\n " + + '\n '.join(os.environ['PATH'].split(os.pathsep))) subprocess.check_call(cmd, cwd=cwd, env=env) def write_wrappers(self, **kwargs):