mirror of
https://github.com/electron/node-gyp.git
synced 2025-09-16 05:53:41 +02:00
gyp: enable MARMASM items only on new VS versions
PR-URL: https://github.com/nodejs/node-gyp/pull/1762 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Refael Ackermann <refack@gmail.com>
This commit is contained in:
parent
0efb8fb34b
commit
a20faedc91
2 changed files with 14 additions and 2 deletions
|
@ -88,6 +88,7 @@ generator_additional_non_configuration_keys = [
|
||||||
'msvs_enable_winrt',
|
'msvs_enable_winrt',
|
||||||
'msvs_requires_importlibrary',
|
'msvs_requires_importlibrary',
|
||||||
'msvs_enable_winphone',
|
'msvs_enable_winphone',
|
||||||
|
'msvs_enable_marmasm',
|
||||||
'msvs_application_type_revision',
|
'msvs_application_type_revision',
|
||||||
'msvs_target_platform_version',
|
'msvs_target_platform_version',
|
||||||
'msvs_target_platform_minversion',
|
'msvs_target_platform_minversion',
|
||||||
|
@ -3362,7 +3363,8 @@ def _GenerateMSBuildProject(project, options, version, generator_flags):
|
||||||
content += _GetMSBuildLocalProperties(project.msbuild_toolset)
|
content += _GetMSBuildLocalProperties(project.msbuild_toolset)
|
||||||
content += import_cpp_props_section
|
content += import_cpp_props_section
|
||||||
content += import_masm_props_section
|
content += import_masm_props_section
|
||||||
content += import_marmasm_props_section
|
if spec.get('msvs_enable_marmasm'):
|
||||||
|
content += import_marmasm_props_section
|
||||||
content += _GetMSBuildExtensions(props_files_of_rules)
|
content += _GetMSBuildExtensions(props_files_of_rules)
|
||||||
content += _GetMSBuildPropertySheets(configurations)
|
content += _GetMSBuildPropertySheets(configurations)
|
||||||
content += macro_section
|
content += macro_section
|
||||||
|
@ -3375,7 +3377,8 @@ def _GenerateMSBuildProject(project, options, version, generator_flags):
|
||||||
content += _GetMSBuildProjectReferences(project)
|
content += _GetMSBuildProjectReferences(project)
|
||||||
content += import_cpp_targets_section
|
content += import_cpp_targets_section
|
||||||
content += import_masm_targets_section
|
content += import_masm_targets_section
|
||||||
content += import_marmasm_targets_section
|
if spec.get('msvs_enable_marmasm'):
|
||||||
|
content += import_marmasm_targets_section
|
||||||
content += _GetMSBuildExtensionTargets(targets_files_of_rules)
|
content += _GetMSBuildExtensionTargets(targets_files_of_rules)
|
||||||
|
|
||||||
if spec.get('msvs_external_builder'):
|
if spec.get('msvs_external_builder'):
|
||||||
|
|
|
@ -146,6 +146,15 @@ function configure (gyp, argv, callback) {
|
||||||
if (vsInfo.sdk) {
|
if (vsInfo.sdk) {
|
||||||
defaults['msvs_windows_target_platform_version'] = vsInfo.sdk
|
defaults['msvs_windows_target_platform_version'] = vsInfo.sdk
|
||||||
}
|
}
|
||||||
|
if (variables.target_arch == 'arm64') {
|
||||||
|
if (vsInfo.versionMajor > 15 ||
|
||||||
|
(vsInfo.versionMajor === 15 && vsInfo.versionMajor >= 9)) {
|
||||||
|
defaults['msvs_enable_marmasm'] = 1
|
||||||
|
} else {
|
||||||
|
log.warn('Compiling ARM64 assembly is only available in\n' +
|
||||||
|
'Visual Studio 2017 version 15.9 and above')
|
||||||
|
}
|
||||||
|
}
|
||||||
variables['msbuild_path'] = vsInfo.msBuild
|
variables['msbuild_path'] = vsInfo.msBuild
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue