def GetVSMacroEnv(self, base_to_build=None, config=None):
    target_platform = 'Win32' if self.GetArch(config) == 'x86' else 'x64'
    replacements = {
        '$(VSInstallDir)': self.vs_version.Path(),
        '$(VCInstallDir)': os.path.join(self.vs_version.Path(), 'VC') + '\\',
        '$(OutDir)\\': base_to_build + '\\' if base_to_build else '',
        '$(IntDir)': '$!INTERMEDIATE_DIR',
        '$(InputPath)': '${source}',
        '$(InputName)': '${root}',
        '$(ProjectName)': self.spec['target_name'],
        '$(PlatformName)': target_platform,
        '$(ProjectDir)\\': '',
    }
    # Chromium uses DXSDK_DIR in include/lib paths, but it may or may not be
    # set. This happens when the SDK is sync'd via src-internal, rather than
    # by typical end-user installation of the SDK. If it's not set, we don't
    # want to leave the unexpanded variable in the path, so simply strip it.
    replacements['$(DXSDK_DIR)'] = self.dxsdk_dir if self.dxsdk_dir else ''
    replacements['$(WDK_DIR)'] = self.wdk_dir if self.wdk_dir else ''
    return replacements
Dispatch user's callback
dataset/ETHPy150Open adobe/brackets-shell/gyp/pylib/gyp/msvs_emulation.py/MsvsSettings.GetVSMacroEnv--crossover with--dataset/ETHPy150Open pika/pika/pika/adapters/blocking_connection.py/_ReturnedMessageEvt.dispatch