def METHOD_NAME(idf_py: IdfPyFunc, test_app_copy: Path) -> None:
    for strategy in ['DUPLDST', 'NOPS', 'MEMW']:
        logging.info(f'Test for external libraries in custom CMake projects with PSRAM strategy {strategy}')
        (test_app_copy / 'sdkconfig.defaults').write_text('\n'.join(['CONFIG_SPIRAM=y',
                                                                    f'CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_{strategy}=y',
                                                                     'CONFIG_SPIRAM_CACHE_WORKAROUND=y']))
        idf_py('reconfigure')
        with open((test_app_copy / 'build' / 'compile_commands.json'), 'r', encoding='utf-8') as f:
            data = f.read()
            res = re.findall(r'.*\"command\".*', data)
            for r in res:
                assert f'mfix-esp32-psram-cache-strategy={strategy.lower()}' in r, ('All commands in compile_commands.json '
                                                                                    'should use PSRAM cache workaround strategy')
        (test_app_copy / 'sdkconfig').unlink()