Auto-generated code is fully supported, but it may affect Build Cache performance.In many projects (e.g. Unreal Engine) code is generated automatically from other code or resources. There is nothing inherently bad with auto-generated code, and it’s possible that Build Cache will treat it efficiently.For example, consider the following header file which is automatically generated (from some input file that has the value of 17):
/***************************************************** * This file was auto-generated by foo-generator.exe *****************************************************/#ifndef FOO#define FOO#define foo(x) (x+17)#endif
If the input file that contains the constant 17 is unchanged, then the header file won’t change, and Build Cache will efficiently cache any C or C++ files that include this header.However, if the auto-generated code contains some text that changes in every build (such as timestamps, build versions, etc.), then any file that includes this header will re-compile at every build. This is true even if these changing texts are placed in comments.
Typically, auto-generated code may contain a comment that indicates it is auto-generated, for example:
/****************************************************** This file was auto-generated by foo-generator.exe*****************************************************/
The comment may contain the name of the script or tool that generates the code (foo-generator.exe in the above example). Developers typically do this to make sure no one changes the generated code manually, since such changes get overwritten on the next build.
Consider the following header file which is automatically generated during the build:
/***************************************************** * This file was auto-generated by foo-generator.exe * On Oct 25, 2022 at 10:25 *****************************************************/#ifndef FOO#define FOO#define foo(x) (x+17)#endif
The auto-generated header is now different in every build (because of the file creation timestamp). Even though the change is in a comment and does not affect the code execution, Build Cache considers these as differences and will recompile any C or C++ file that includes it.In such situation, we recommend that you change the way this code is generated (change foo-generator.exe) and remove the changing text.
Consider the following header file which is automatically generated during the build:
/***************************************************** * This file was auto-generated by foo-generator.exe * Created from C:\Build\tX2WFG0v\Version.xml *****************************************************/ #ifndef FOO #define FOO #define foo(x) (x+17) #endif
The header comment contains the name of the “source” file for the generated code (Version.xml in the above example).However, in this example the file name contains the full path to the source file. Sometimes that’s fine, but in the above example it is apparent that the path contains a random folder. This might be a CI job that generates a new folder for every build.This means that the file above changes at every CI job, and Build Cache considers that as changed code which requires re-execution.In such situation, we recommend that you change the way this code is generated (change foo-generator.exe) and switch from using a full path to relative path.
A more complex situation can arise when the auto-generated code actually affects the program execution. For example, consider a header file that contains a function that returns the build ID (e.g. 37198):
/***************************************************** * This file was auto-generated by version-generator.exe *****************************************************/#ifndef VERSION#define VERSION#define BUILDID 37198#endif
Again, since the auto-generated header is now different in every build, Build Cache considers these as different code and will recompile any C or C++ file that includes it.In such situation, we recommend making sure that this header is only included when needed. The fewer files include it, the more efficient Build Cache will be.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"IncrediBuild Documentation","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/incredibuild-docs-migrated/a90IOkXrBeudmNJU/images/logo-light.svg?fit=max\u0026auto=format\u0026n=a90IOkXrBeudmNJU\u0026q=85\u0026s=74d7751f22e305e5f7e543929f7c64e3","dark":"https://mintcdn.com/incredibuild-docs-migrated/a90IOkXrBeudmNJU/images/logo-dark.svg?fit=max\u0026auto=format\u0026n=a90IOkXrBeudmNJU\u0026q=85\u0026s=2545789b1ee6a74f9f7c9186ef6a3b3e"},"favicon":"https://mintcdn.com/incredibuild-docs-migrated/J_iESDJtkumUEvdP/images/favicon.svg?fit=max\u0026auto=format\u0026n=J_iESDJtkumUEvdP\u0026q=85\u0026s=d4a56a75bbe0364d0ef863d3183e06ca","navbar":{"links":[{"href":"https://www.incredibuild.com/support","label":"Support"}]},"footer":{"socials":{"x":"https://x.com/Incredibuild","github":"https://github.com/Incredibuild-RND","linkedin":"https://linkedin.com/company/incredibuild"}},"integrations":{"gtm":{"tagId":"GTM-P4S7537"},"posthog":{"apiKey":"phc_78QqWhPGnAx46NqlRahsOjygVlyPJ4g3EyLzbplwzZm","sessionRecording":false}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","cursor"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"incredibuild-docs-migrated","hasAudioNarration":false,"actualSubdomain":"incredibuild-docs-migrated","customDomains":["docs.incredibuild.com"],"gitSource":{"type":"github","owner":"incredibuild-rnd","repo":"docs-mintlify-live","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"ce36e4d0-eb18-4c07-8a00-83eeef58da95","liveDeploymentHistoryId":"6ada2e542cd1c8b6f015a391","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ada2e542cd1c8b6f015a391"},"entitlements":{},"buildId":"6ada2e542cd1c8b6f015a391","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"Windows","count":4524},{"language":"default","tag":"Linux","count":1559},{"language":"default","tag":"Integrations","count":1534},{"language":"default","tag":"Features and Settings","count":1267},{"language":"default","tag":"Installation","count":875},{"language":"default","tag":"Other","count":752},{"language":"default","tag":"Devtools Solution","count":705},{"language":"default","tag":"Running Builds","count":645},{"language":"default","tag":"Integration Interfaces","count":498},{"language":"default","tag":"Introduction","count":354}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"windows/10.35.0/build-cache-auto-gen-code","slug":"/windows/10.35.0/build-cache-auto-gen-code","pageMetadata":{"title":"Build Cache - How Auto-Generated Code can Affect Efficiency","description":null,"href":"/windows/10.35.0/build-cache-auto-gen-code"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsx(Note,{children:_jsxs(_components.p,{children:[`This feature is only available in Incredibuild’s `,_jsx(_components.a,{href:`/windows/pricing-plans`,children:`Enterprise and Business Plans`}),`.`]})}),`\n`,_jsx(_components.p,{children:`Auto-generated code is fully supported, but it may affect Build Cache performance.`}),`\n`,_jsx(_components.p,{children:`In many projects (e.g. Unreal Engine) code is generated automatically from other code or resources. There is nothing inherently bad with auto-generated code, and it’s possible that Build Cache will treat it efficiently.`}),`\n`,_jsx(_components.p,{children:`For example, consider the following header file which is automatically generated (from some input file that has the value of 17):`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/*****************************************************`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` * This file was auto-generated by foo-generator.exe `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` *****************************************************/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#ifndef FOO`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#define FOO`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#define foo(x) (x+17)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#endif`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`If the input file that contains the constant 17 is unchanged, then the header file won’t change, and Build Cache will efficiently cache any C or C++ files that include this header.`}),`\n`,_jsx(_components.p,{children:`However, if the auto-generated code contains some text that changes in every build (such as timestamps, build versions, etc.), then any file that includes this header will re-compile at every build. This is true even if these changing texts are placed in comments.`}),`\n`,_jsx(Heading,{level:`2`,id:`comments-in-auto-generated-code`,children:`Comments in Auto-Generated Code`}),`\n`,_jsx(_components.p,{children:`Typically, auto-generated code may contain a comment that indicates it is auto-generated, for example:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/*****************************************************`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`* This file was auto-generated by foo-generator.exe`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`*****************************************************/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`The comment may contain the name of the script or tool that generates the code (foo-generator.exe in the above example). Developers typically do this to make sure no one changes the generated code manually, since such changes get overwritten on the next build.`}),`\n`,_jsx(Heading,{level:`2`,id:`comments-with-timestamps`,children:`Comments with Timestamps`}),`\n`,_jsx(_components.p,{children:`Consider the following header file which is automatically generated during the build:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/*****************************************************`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` * This file was auto-generated by foo-generator.exe `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` * On Oct 25, 2022 at 10:25`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` *****************************************************/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#ifndef FOO`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#define FOO`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#define foo(x) (x+17)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#endif`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`The auto-generated header is now different in every build (because of the file creation timestamp). Even though the change is in a comment and does not affect the code execution, Build Cache considers these as differences and will recompile any C or C++ file that includes it.`}),`\n`,_jsx(_components.p,{children:`In such situation, we recommend that you change the way this code is generated (change foo-generator.exe) and remove the changing text.`}),`\n`,_jsx(Heading,{level:`2`,id:`comments-with-changing-file-names`,children:`Comments with Changing File\\xA0Names`}),`\n`,_jsx(_components.p,{children:`Consider the following header file which is automatically generated during the build:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/***************************************************** `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`* This file was auto-generated by foo-generator.exe `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`* Created from C:\\\\Build\\\\tX2WFG0v\\\\Version.xml `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`*****************************************************/ `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#ifndef FOO `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#define FOO `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#define foo(x) (x+17) `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#endif`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`The header comment contains the name of the “source” file for the generated code (Version.xml in the above example).`}),`\n`,_jsx(_components.p,{children:`However, in this example the file name contains the full path to the source file. Sometimes that’s fine, but in the above example it is apparent that the path contains a random folder. This might be a CI job that generates a new folder for every build.`}),`\n`,_jsx(_components.p,{children:`This means that the file above changes at every CI job, and Build Cache considers that as changed code which requires re-execution.`}),`\n`,_jsx(_components.p,{children:`In such situation, we recommend that you change the way this code is generated (change foo-generator.exe) and switch from using a full path to relative path.`}),`\n`,_jsx(Heading,{level:`2`,id:`other-examples`,children:`Other Examples`}),`\n`,_jsx(_components.p,{children:`A more complex situation can arise when the auto-generated code actually affects the program execution. For example, consider a header file that contains a function that returns the build ID (e.g. 37198):`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/*****************************************************`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` * This file was auto-generated by version-generator.exe `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` *****************************************************/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#ifndef VERSION`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#define VERSION`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#define BUILDID 37198`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#endif`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Again, since the auto-generated header is now different in every build, Build Cache considers these as different code and will recompile any C or C++ file that includes it.`}),`\n`,_jsx(_components.p,{children:`In such situation, we recommend making sure that this header is only included when needed. The fewer files include it, the more efficient Build Cache will be.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Build Cache - How Auto-Generated Code can Affect Efficiency","description":null,"href":"/windows/10.35.0/build-cache-auto-gen-code"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Comments in Auto-Generated Code","slug":"comments-in-auto-generated-code","depth":2,"children":[]},{"title":"Comments with Timestamps","slug":"comments-with-timestamps","depth":2,"children":[]},{"title":"Comments with Changing File Names","slug":"comments-with-changing-file-names","depth":2,"children":[]},{"title":"Other Examples","slug":"other-examples","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"incredibuild-docs-migrated","siteName":"IncrediBuild Documentation","title":"Build Cache - How Auto-Generated Code can Affect Efficiency - IncrediBuild Documentation","navMaps":{"firstHrefInVersion":{"10.38.1":{"href":"/windows/features-and-settings","matchLevel":2},"10.38.0":{"href":"/windows/10.38.0/build-cache-auto-gen-code","matchLevel":1},"10.37.1":{"href":"/windows/10.37.1/build-cache-auto-gen-code","matchLevel":1},"10.37.0":{"href":"/windows/10.37.0/build-cache-auto-gen-code","matchLevel":1},"10.36.3":{"href":"/windows/10.36.3/build-cache-auto-gen-code","matchLevel":1},"10.36.2":{"href":"/windows/10.36.2/build-cache-auto-gen-code","matchLevel":1},"10.36.1":{"href":"/windows/10.36.1/build-cache-auto-gen-code","matchLevel":1},"10.36.0":{"href":"/windows/10.36.0/build-cache-auto-gen-code","matchLevel":1},"10.35.3":{"href":"/windows/10.35.3/features-and-settings","matchLevel":2},"10.35.2":{"href":"/windows/10.35.2/features-and-settings","matchLevel":2},"10.35.1":{"href":"/windows/10.35.1/features-and-settings","matchLevel":2},"10.35.0":{"href":"/windows/10.35.0/build-cache-auto-gen-code","matchLevel":0},"10.34.3":{"href":"/windows/10.34.3/features-and-settings","matchLevel":2},"10.34.2":{"href":"/windows/10.34.2/features-and-settings","matchLevel":2},"10.34.1":{"href":"/windows/10.34.1/features-and-settings","matchLevel":2},"10.34.0":{"href":"/windows/10.34.0/features-and-settings","matchLevel":2},"10.33.0":{"href":"/windows/10.33.0/features-and-settings","matchLevel":2},"10.32.2":{"href":"/windows/10.32.2/features-and-settings","matchLevel":2},"10.32.1":{"href":"/windows/10.32.1/features-and-settings","matchLevel":2},"10.32.0":{"href":"/windows/10.32.0/features-and-settings","matchLevel":2},"10.31.2":{"href":"/windows/10.31.2/features-and-settings","matchLevel":2},"10.31.1":{"href":"/windows/10.31.1/features-and-settings","matchLevel":2},"10.31.0":{"href":"/windows/10.31.0/features-and-settings","matchLevel":2},"10.30.0":{"href":"/windows/10.30.0/features-and-settings","matchLevel":2},"10.29.1":{"href":"/windows/10.29.1/features-and-settings","matchLevel":2},"10.29":{"href":"/windows/10.29/features-and-settings","matchLevel":2},"10.28":{"href":"/windows/10.28/features-and-settings","matchLevel":2},"10.27.1":{"href":"/windows/10.27.1/features-and-settings","matchLevel":2},"10.27":{"href":"/windows/10.27/features-and-settings","matchLevel":2},"10.26":{"href":"/windows/10.26/features-and-settings","matchLevel":2},"4.30.2":{"href":"/linux/overview","matchLevel":4},"4.30.1":{"href":"/linux/4.30.1/overview","matchLevel":4},"4.30.0":{"href":"/linux/4.30.0/overview","matchLevel":4},"4.29.3":{"href":"/linux/4.29.3/overview","matchLevel":4},"4.29.2":{"href":"/linux/4.29.2/overview","matchLevel":4},"4.29.0":{"href":"/linux/4.29.0/overview","matchLevel":4},"4.27.2":{"href":"/linux/4.27.2/release-notes","matchLevel":4},"4.27.1":{"href":"/linux/4.27.1/release-notes","matchLevel":4},"4.27.0":{"href":"/linux/4.27.0/release-notes","matchLevel":4},"4.26.1":{"href":"/linux/4.26.1/overview","matchLevel":4},"4.26.0":{"href":"/linux/4.26.0/release-notes","matchLevel":4},"4.25.0":{"href":"/linux/4.25.0/release-notes","matchLevel":4},"4.24.0":{"href":"/linux/4.24.0/release-notes","matchLevel":4},"4.23.0":{"href":"/linux/4.23.0/release-notes","matchLevel":4},"4.22.0":{"href":"/linux/4.22.0/release-notes","matchLevel":4},"4.21.0":{"href":"/linux/4.21.0/release-notes","matchLevel":4},"4.20.0":{"href":"/linux/4.20.0/release-notes","matchLevel":4},"4.19.1":{"href":"/linux/4.19.1/release-notes","matchLevel":4},"4.19.0":{"href":"/linux/4.19.0/release-notes","matchLevel":4},"4.18.1":{"href":"/linux/4.18.1/release-notes","matchLevel":4},"4.18.0":{"href":"/linux/4.18.0/release-notes","matchLevel":4},"4.12":{"href":"/mac/overview","matchLevel":4},"4.11.0":{"href":"/mac/4.11.0/release-notes","matchLevel":4},"4.10.0":{"href":"/mac/4.10.0/release-notes","matchLevel":4},"4.9.0":{"href":"/mac/4.9.0/release-notes","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-08-12T20:57:18.107Z","originalFileLocation":"windows/10.35.0/build-cache-auto-gen-code.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"IncrediBuild Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/incredibuild-docs-migrated/0baZAtTsfgTDpi0G/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/incredibuild-docs-migrated/0baZAtTsfgTDpi0G/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/incredibuild-docs-migrated/0baZAtTsfgTDpi0G/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/incredibuild-docs-migrated/0baZAtTsfgTDpi0G/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/incredibuild-docs-migrated/0baZAtTsfgTDpi0G/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/incredibuild-docs-migrated/0baZAtTsfgTDpi0G/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/incredibuild-docs-migrated/0baZAtTsfgTDpi0G/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/incredibuild-docs-migrated/0baZAtTsfgTDpi0G/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/incredibuild-docs-migrated/0baZAtTsfgTDpi0G/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Build Cache - How Auto-Generated Code can Affect Efficiency - IncrediBuild Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"IncrediBuild Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.incredibuild.com/windows/10.35.0/build-cache-auto-gen-code\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://incredibuild-docs-migrated.mintlify.app/_mintlify/api/og/v2?division=Build+Cache+Project+Structure\u0026amp;title=Build+Cache+-+How+Auto-Generated+Code+can+Affect+Efficiency\u0026amp;theme=c5b8fa8188558088a0958d16\u0026amp;signature=d66d32b2c05949a59f25426c523ad69cb4b4db9758bd999cec1a03e47837ca09\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Build Cache - How Auto-Generated Code can Affect Efficiency - IncrediBuild Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://incredibuild-docs-migrated.mintlify.app/_mintlify/api/og/v2?division=Build+Cache+Project+Structure\u0026amp;title=Build+Cache+-+How+Auto-Generated+Code+can+Affect+Efficiency\u0026amp;theme=c5b8fa8188558088a0958d16\u0026amp;signature=d66d32b2c05949a59f25426c523ad69cb4b4db9758bd999cec1a03e47837ca09\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/incredibuild-docs-migrated/0baZAtTsfgTDpi0G/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"IncrediBuild Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.incredibuild.com/windows/10.35.0/build-cache-auto-gen-code\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/windows/10.35.0/build-cache-auto-gen-code.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.incredibuild.com/#organization\",\"name\":\"IncrediBuild Documentation\",\"url\":\"https://docs.incredibuild.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/incredibuild-docs-migrated/a90IOkXrBeudmNJU/images/logo-light.svg?fit=max\u0026auto=format\u0026n=a90IOkXrBeudmNJU\u0026q=85\u0026s=74d7751f22e305e5f7e543929f7c64e3\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.incredibuild.com#website\",\"name\":\"IncrediBuild Documentation\",\"url\":\"https://docs.incredibuild.com\",\"publisher\":{\"@id\":\"https://docs.incredibuild.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.incredibuild.com/windows/10.35.0/build-cache-auto-gen-code#webpage\",\"url\":\"https://docs.incredibuild.com/windows/10.35.0/build-cache-auto-gen-code\",\"name\":\"Build Cache - How Auto-Generated Code can Affect Efficiency\",\"dateModified\":\"2026-08-12T20:57:18.107Z\",\"isPartOf\":{\"@id\":\"https://docs.incredibuild.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.incredibuild.com/windows/10.35.0/build-cache-auto-gen-code#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.incredibuild.com/windows/10.35.0/build-cache-auto-gen-code#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Features and Settings\",\"item\":\"https://docs.incredibuild.com/windows/10.35.0/features-and-settings\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build Cache\",\"item\":\"https://docs.incredibuild.com/windows/10.35.0/build-cache\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Build Cache Project Structure\",\"item\":\"https://docs.incredibuild.com/windows/10.35.0/build-cache-project-structure\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Build Cache - How Auto-Generated Code can Affect Efficiency\",\"item\":\"https://docs.incredibuild.com/windows/10.35.0/build-cache-auto-gen-code\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.incredibuild.com/windows/10.35.0/build-cache-auto-gen-code#article\",\"headline\":\"Build Cache - How Auto-Generated Code can Affect Efficiency\",\"name\":\"Build Cache - How Auto-Generated Code can Affect Efficiency\",\"url\":\"https://docs.incredibuild.com/windows/10.35.0/build-cache-auto-gen-code\",\"mainEntityOfPage\":{\"@id\":\"https://docs.incredibuild.com/windows/10.35.0/build-cache-auto-gen-code#webpage\"},\"dateModified\":\"2026-08-12T20:57:18.107Z\",\"publisher\":{\"@id\":\"https://docs.incredibuild.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.incredibuild.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"IncrediBuild Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"IncrediBuild Documentation","nav":{"global":null,"products":[{"product":"Windows","icon":"windows","directory":"card","versions":[{"version":"10.38.1","default":true,"tag":"Latest","pages":[{"title":"10.38.1","href":"/windows/features-and-settings"}]},{"version":"10.38.0","pages":[{"title":"10.38.0","href":"/windows/10.38.0/build-cache-auto-gen-code"}]},{"version":"10.37.1","pages":[{"title":"10.37.1","href":"/windows/10.37.1/build-cache-auto-gen-code"}]},{"version":"10.37.0","pages":[{"title":"10.37.0","href":"/windows/10.37.0/build-cache-auto-gen-code"}]},{"version":"10.36.3","pages":[{"title":"10.36.3","href":"/windows/10.36.3/build-cache-auto-gen-code"}]},{"version":"10.36.2","pages":[{"title":"10.36.2","href":"/windows/10.36.2/build-cache-auto-gen-code"}]},{"version":"10.36.1","pages":[{"title":"10.36.1","href":"/windows/10.36.1/build-cache-auto-gen-code"}]},{"version":"10.36.0","pages":[{"title":"10.36.0","href":"/windows/10.36.0/build-cache-auto-gen-code"}]},{"version":"10.35.3","pages":[{"title":"10.35.3","href":"/windows/10.35.3/features-and-settings"}]},{"version":"10.35.2","pages":[{"title":"10.35.2","href":"/windows/10.35.2/features-and-settings"}]},{"version":"10.35.1","pages":[{"title":"10.35.1","href":"/windows/10.35.1/features-and-settings"}]},{"version":"10.35.0","groups":[{"group":"Overview","pages":[{"title":"Incredibuild for Windows","href":"/windows/10.35.0/overview"},{"title":"Release Notes","href":"/windows/10.35.0/release-notes"}]},{"group":"Introduction","root":{"title":"Introduction","href":"/windows/10.35.0/getting-started"},"pages":[{"title":"Introduction to Incredibuild","href":"/windows/10.35.0/introduction"},{"title":"Incredibuild Components and Architecture","href":"/windows/10.35.0/components-and-architecture"},{"group":"Virtualization Tech","pages":[{"title":"Incredibuild's Virtualization Technology","href":"/windows/10.35.0/virtualization-tech"},{"title":"What is Process Virtualization?","href":"/windows/10.35.0/process-virt-overview"},{"title":"Process Virtualization Flow","href":"/windows/10.35.0/process-virtualization-flow"}]},{"title":"Jobs and Tasks","href":"/windows/10.35.0/jobs-tasks"},{"title":"Pricing Plans","href":"/windows/10.35.0/pricing-plans"},{"title":"Supported Tools","href":"/windows/10.35.0/supported-tools"}]},{"group":"Installation","root":{"title":"Installation","href":"/windows/10.35.0/setup-install"},"pages":[{"title":"System Requirements","href":"/windows/10.35.0/system-requirements"},{"title":"Standard Installation","href":"/windows/10.35.0/standard-installation"},{"title":"Silent Installation","href":"/windows/10.35.0/silent-install"},{"title":"Installation from within Visual Studio","href":"/windows/10.35.0/installation-within-vs-2017-2019"},{"title":"Troubleshooting Installation","href":"/windows/10.35.0/setup-issues"},{"title":"Linux Helper (SCL) Installation","href":"/windows/10.35.0/linux-helper-scl-installation"},{"title":"Linux Installation","href":"/windows/10.35.0/linux-installation"},{"title":"Using a Backup Coordinator","href":"/windows/10.35.0/using-backup-coordinator"},{"group":"Upgrade","pages":[{"title":"Upgrading Incredibuild","href":"/windows/10.35.0/upgrade"},{"title":"Deprecations and Limitations","href":"/windows/10.35.0/ib10-coord-limitations"}]},{"title":"Installing Additional Components","href":"/windows/10.35.0/install-agent-on-coordinator"},{"title":"License Overview","href":"/windows/10.35.0/license-model"},{"title":"Offline Licenses","href":"/windows/10.35.0/offline-licenses"},{"title":"Moving the Coordinator to a New Machine","href":"/windows/10.35.0/move-coordinator"},{"title":"Rolling Back (Downgrade) to a Previous Version","href":"/windows/10.35.0/rolling-back"},{"title":"Uninstalling Incredibuild","href":"/windows/10.35.0/uninstall"},{"title":"Configuration Changes","href":"/windows/10.35.0/configuration-changes"},{"group":"Scaling Helpers in the Cloud","root":{"title":"Scaling Helpers in the Cloud","href":"/windows/10.35.0/scaling-helpers-in-cloud"},"pages":[{"title":"Scaling Helpers in Azure","href":"/windows/10.35.0/scaling-helpers-in-azure"},{"title":"Scaling Helpers in GCP","href":"/windows/10.35.0/scaling-helpers-in-gcp"},{"title":"Scaling Helpers in AWS EC2","href":"/windows/10.35.0/scaling-helpers-in-aws-ec2"}]}]},{"group":"Integrations","root":{"title":"Integrations","href":"/windows/10.35.0/integrations"},"pages":[{"group":"Visual Studio Solution","pages":[{"title":"Visual Studio Solution","href":"/windows/10.35.0/visual-studio-solution"},{"title":"Upgrading the Version of the Incredibuild Extension","href":"/windows/10.35.0/visual-studio-upgrade"},{"title":"Customizing Incredibuild Options in Visual Studio","href":"/windows/10.35.0/customizing-incredibuild-build-options"},{"title":"Configuring Incredibuild Visual Studio Commands","href":"/windows/10.35.0/configuring-visual-studio-commands"},{"title":"Incredibuild and Visual Studio Integration Modes","href":"/windows/10.35.0/using-visual-studio-integration-modes"},{"title":"Batch Build Configurations","href":"/windows/10.35.0/batch-build-configurations"},{"title":"Accelerating Custom Build Steps, Events, and Tools","href":"/windows/10.35.0/accelerating-custom-build-steps"},{"title":"Build Performance Optimizations","href":"/windows/10.35.0/build-performance-optimizations"},{"title":"Using NuGet","href":"/windows/10.35.0/nuget"},{"title":"Predictive Execution","href":"/windows/10.35.0/predictive-execution-msbuild-versions"}]},{"title":"Qt Creator","href":"/windows/10.35.0/qt-creator"},{"title":"Integrating with Github Actions","href":"/windows/10.35.0/github"},{"title":"Integrating with Klocwork","href":"/windows/10.35.0/klocwork"},{"title":"Integrating with Docker","href":"/windows/10.35.0/docker"},{"title":"Prometheus Integration","href":"/windows/10.35.0/prometheus"},{"title":"Integration with Jenkins","href":"/windows/10.35.0/jenkins"},{"group":"Devtools Solution","pages":[{"title":"DevTools Solution","href":"/windows/10.35.0/devtools-solution"},{"group":"Integration Interfaces","root":{"title":"Integration Interfaces","href":"/windows/10.35.0/integration-interfaces"},"pages":[{"title":"Choosing the Ideal Interface","href":"/windows/10.35.0/choose-ideal-interface"},{"group":"Submission Interfaces","pages":[{"title":"Using Submission Interfaces","href":"/windows/10.35.0/submission-interfaces"},{"title":"xgSubmit Command","href":"/windows/10.35.0/xgsubmit-command"},{"title":"xgWait Command","href":"/windows/10.35.0/xgwait-command"}]},{"title":"Using Automatic Interception Interfaces","href":"/windows/10.35.0/auto-interception-interfaces"},{"title":"Creating a Profile XML File","href":"/windows/10.35.0/create-profile-xml-file"},{"group":"Using Xml Interfaces","pages":[{"title":"Using XML Interfaces","href":"/windows/10.35.0/using-xml-interfaces"},{"group":"XML Syntax","pages":[{"title":"XML File Syntax","href":"/windows/10.35.0/xml-file-syntax"},{"title":"XML Syntax Specification","href":"/windows/10.35.0/xml-synax-specs"},{"title":"XML Syntax Notes","href":"/windows/10.35.0/xml-syntax-notes"},{"title":"XML Interface - Dependency Definition","href":"/windows/10.35.0/xml-dependency-definition"},{"title":"XML Interface - Macros","href":"/windows/10.35.0/xml-macros"},{"title":"XML Interface - Response Files","href":"/windows/10.35.0/xml-response-files"}]},{"title":"XML Interface - Usage","href":"/windows/10.35.0/xml-usage"},{"title":"Sample XML Interface Project and File","href":"/windows/10.35.0/xml-sample-project-file"}]},{"title":"Combined Interfaces","href":"/windows/10.35.0/combined-interfaces"}]},{"title":"DevTools Command Line - IBConsole","href":"/windows/10.35.0/devtools-command-line"},{"title":"IBConsole Command Line Options","href":"/windows/10.35.0/ibconsole-cli-options"},{"title":"Further Build Performance Optimizations","href":"/windows/10.35.0/further-build-performance-optimizations"},{"group":"Unit Tests","pages":[{"title":"Incredibuild for Unit Tests","href":"/windows/10.35.0/unit-tests"},{"title":"Distribution Modes","href":"/windows/10.35.0/distribution-modes"},{"title":"IBConsole Command Interface (All frameworks excluding NUnit \u0026 GTest)","href":"/windows/10.35.0/ibconsole-interface"},{"title":"IBTestConsole Command Interface (for NUnit, GTest)","href":"/windows/10.35.0/ibtestconsole-interface"}]}]}]},{"group":"Features and Settings","root":{"title":"Features and Settings","href":"/windows/10.35.0/features-and-settings"},"pages":[{"title":"Accessing the Coordinator Manager","href":"/windows/10.35.0/coord-access"},{"title":"User Management","href":"/windows/10.35.0/user-management"},{"title":"User Management Integration with External System","href":"/windows/10.35.0/user-management-integration"},{"title":"Viewing Agents","href":"/windows/10.35.0/coordinator-agents-list"},{"title":"Agent Actions","href":"/windows/10.35.0/coordinator-agent-list-actions"},{"title":"Managing Licenses","href":"/windows/10.35.0/license-manage"},{"title":"Build Groups","href":"/windows/10.35.0/working-with-build-groups"},{"group":"Build Cache","pages":[{"title":"Build Cache","href":"/windows/10.35.0/build-cache"},{"title":"Build Cache - Overview","href":"/windows/10.35.0/build-cache-overview"},{"title":"Build Cache - Basic Settings and Configuration","href":"/windows/10.35.0/build-cache-config-basic"},{"title":"Build Cache - Managing Build Cache","href":"/windows/10.35.0/coordinator-buildcache"},{"title":"Build Cache - Monitoring and Diagnosing Efficiency","href":"/windows/10.35.0/build-cache-monitor"},{"title":"Build Cache - Advanced New Project Workflow","href":"/windows/10.35.0/build-cache-workflow"},{"group":"Build Cache Project Structure","pages":[{"title":"Build Cache - How Project Structure can Affect Efficiency","description":null,"href":"/windows/10.35.0/build-cache-project-structure"},{"title":"Build Cache - How Auto-Generated Code can Affect Efficiency","href":"/windows/10.35.0/build-cache-auto-gen-code"}]},{"title":"Build Cache - How Pre-Compiled Headers can Affect Efficiency","description":null,"href":"/windows/10.35.0/build-cache-pch"}]},{"title":"SSL, Encryption, and Other Security Settings","href":"/windows/10.35.0/ssl"},{"title":"Concurrent Incredibuild Command Execution","href":"/windows/10.35.0/enterprise-concurrent-commands"},{"title":"Helper to Service Multiple Builds","href":"/windows/10.35.0/enterprise-helper-multi-builds"},{"group":"Agent Settings","pages":[{"title":"Agent Settings","href":"/windows/10.35.0/agent-settings"},{"title":"Agent options","href":"/windows/10.35.0/agent-options"},{"title":"Network","href":"/windows/10.35.0/network"},{"title":"Initiator","href":"/windows/10.35.0/initiator"},{"title":"Build Cache Endpoint","href":"/windows/10.35.0/build-cache-agent-settings"},{"title":"Build Cache Client","href":"/windows/10.35.0/build-cache-agent-settings2"},{"title":"Helper","href":"/windows/10.35.0/helper"},{"title":"Build Monitor","href":"/windows/10.35.0/build-monitor-options"},{"title":"Visual Studio Builds","href":"/windows/10.35.0/visual-studio-builds"},{"title":"Visual Studio Add-in","href":"/windows/10.35.0/visual-studio-add-in"},{"title":"Tray Icon","href":"/windows/10.35.0/tray-icon-settings"}]},{"title":"Coordinator Settings","href":"/windows/10.35.0/coordinator-settings"},{"title":"Incredibuild Cloud","href":"/windows/10.35.0/cloud-overview"},{"title":"Working from Home","href":"/windows/10.35.0/work-from-home"},{"title":"Globalization","href":"/windows/10.35.0/globalization"},{"title":"Coordinator Console Utility (xgCoordConsole.exe)","href":"/windows/10.35.0/coord-console-utility"},{"title":"Site Survey Tool","href":"/windows/10.35.0/site-survey-tool"}]},{"group":"Running Builds","root":{"title":"Running Builds","href":"/windows/10.35.0/running-builds"},"pages":[{"title":"Running Builds Quick Start","href":"/windows/10.35.0/running-builds-quick-start"},{"title":"Running Builds from Visual Studio","href":"/windows/10.35.0/running-build-from-visual-studio"},{"title":"BuildConsole for Visual Studio","href":"/windows/10.35.0/build-console-cli"},{"title":"BuildConsole for Make and Build Tools","href":"/windows/10.35.0/running-from-command-line"},{"title":"Running Gitlab Builds with Incredibuild","href":"/windows/10.35.0/gitlab"},{"title":"Modify Settings per Build using a Configuration File","href":"/windows/10.35.0/modify-settings-per-build"},{"title":"Running Projects Created with CMake","href":"/windows/10.35.0/cmake-profile"},{"title":"Running Builds in Visual Studio Code","href":"/windows/10.35.0/running-vs-code"}]},{"group":"Monitoring","root":{"title":"Monitoring Builds","href":"/windows/10.35.0/monitor-builds"},"pages":[{"title":"The Build Monitor Overview","href":"/windows/10.35.0/build-monitor-what-to-know"},{"title":"The Build Monitor Settings","href":"/windows/10.35.0/build-monitor-settings"},{"title":"Builds Dashboard","href":"/windows/10.35.0/dashboard-builds"},{"title":"Utilization Dashboard","href":"/windows/10.35.0/dashboard-utilization"},{"title":"Build List","href":"/windows/10.35.0/build-list"}]},{"group":"API","root":{"title":"API Reference","href":"/windows/10.35.0/api"},"pages":[{"title":"API Keys","href":"/windows/10.35.0/api-keys"},{"title":"User Management API","href":"/windows/10.35.0/api-users"},{"title":"External User Management API","href":"/windows/10.35.0/api-external-user"},{"title":"Assign Licenses via API","href":"/windows/10.35.0/api-assign-license"},{"title":"Build History API","href":"/windows/10.35.0/api-build-data"},{"title":"Build Cache API","href":"/windows/10.35.0/build-cache-api"},{"title":"Agent Priority API","href":"/windows/10.35.0/api-assign-priority"},{"title":"Health API","href":"/windows/10.35.0/api-health"}]},{"group":"Additional Resources","root":{"title":"Additional Resources","href":"/windows/10.35.0/additional-resources"},"pages":[{"group":"Troubleshooting Issues","root":{"title":"Troubleshooting Issues","href":"/windows/10.35.0/troubleshooting-issues"},"pages":[{"title":"Frequently Asked Questions","href":"/windows/10.35.0/faq"},{"title":"Exporting Logs to Support","href":"/windows/10.35.0/exporting-logs"},{"title":"Network Connectivity Test","href":"/windows/10.35.0/network-connectivity-test"},{"title":"General Performance Boost Tips","href":"/windows/10.35.0/general-performance-boost"},{"title":"Incredibuild Help","href":"/windows/10.35.0/help-menu"}]},{"title":"Case Studies","href":"/windows/10.35.0/case-studies"},{"title":"List of Open Sources","href":"/windows/10.35.0/open-sources"}]},{"group":"Other","root":{"title":"Downloads and Documentation Center","href":"/windows/10.35.0/_shared/site-landing/download-docs-center"},"pages":[{"title":"Incredibuild for Linux","href":"/windows/10.35.0/_shared/site-landing/linux-index"},{"title":"Open Sources","href":"/windows/10.35.0/_shared/site-landing/open-sources"},{"title":"Windows vs. Linux: Features Comparison","href":"/windows/10.35.0/_shared/site-landing/win-lin-features"},{"title":"Adding the Incredibuild Self-Signed Certificate to Your API Client Tool","href":"/windows/10.35.0/add-cert-to-api-client-tool"},{"title":"Administration Settings","href":"/windows/10.35.0/admin-settings"},{"title":"Assigning Agents to a Build Group","href":"/windows/10.35.0/assigning-agents-to-build-group"},{"title":"Assigning Agents to Build Groups During Installation","href":"/windows/10.35.0/assigning-agents-to-build-groups"},{"title":"Build Cache -","href":"/windows/10.35.0/build-cache-concepts"},{"title":"Build Cache - Customizing Settings Per Build","href":"/windows/10.35.0/build-cache-customize"},{"title":"Build Cache - New Project Playbook","href":"/windows/10.35.0/build-cache-playbook"},{"title":"Build Group API","href":"/windows/10.35.0/build-group-api-syntax"},{"title":"Clearing a Build Group","href":"/windows/10.35.0/clearing-build-group"},{"title":"Configuring Your API Client Tool for Using the Build Group APIs","href":"/windows/10.35.0/config-api-tool-for-build-group"},{"title":"Enabling the Use of Build Group APIs in the Coordinator","href":"/windows/10.35.0/enabling-use-build-group-apis"},{"title":"Dashboard","href":"/windows/10.35.0/enterprise-dashboard"},{"title":"Helpers Resource Utilization Graphs","href":"/windows/10.35.0/enterprise-helpers-resource-util-graphs"},{"title":"Legal Notice","href":"/windows/10.35.0/enterprise-legal"},{"title":"Enterprise Features","href":"/windows/10.35.0/enterprise-overview"},{"title":"Incredibuild Extension for VSTS and TFS","href":"/windows/10.35.0/enterprise-vsts-tfs-extension"},{"title":"Getting Agent Details","href":"/windows/10.35.0/getting-agent-details"},{"title":"Getting the List of Agents in a Build Group","href":"/windows/10.35.0/getting-list-agents-in-build-group"},{"title":"Getting the List of Build Groups","href":"/windows/10.35.0/getting-list-build-groups"},{"title":"Importing the Incredibuild Self-Signed Certificate","href":"/windows/10.35.0/importing-self-signed-certificate"},{"title":"Installing Incredibuild Components","href":"/windows/10.35.0/install-components"},{"title":"Incredibuild for Windows Product Tiers","href":"/windows/10.35.0/product-tiers"},{"title":"Build History API","href":"/windows/10.35.0/rest-api-build-cache-actions"},{"title":"Setting Up Your API Environment and Tool","href":"/windows/10.35.0/setting-up-api-environment"},{"title":"Generating a Baseline Execution for Benchmarking","href":"/windows/10.35.0/trial-baseline-benchmarking"},{"title":"Executing Your Build Using Make and Other Build Tools","href":"/windows/10.35.0/trial-execute-using-make"},{"title":"Executing Your Build Using Incredibuild","href":"/windows/10.35.0/trial-executing-builds"},{"title":"Generating Logs","href":"/windows/10.35.0/trial-generate-logs"},{"title":"Generating Logs for Failed Builds","href":"/windows/10.35.0/trial-generate-logs-failed-builds"},{"title":"Generating Logs for Successful Builds","href":"/windows/10.35.0/trial-generate-logs-successful-builds"},{"title":"Installing Incredibuild Windows","href":"/windows/10.35.0/trial-installation"},{"title":"Installing the Coordinator and Activating Incredibuild by Loading Its License","href":"/windows/10.35.0/trial-install-activate-load-license"},{"title":"Installing Additional Agents","href":"/windows/10.35.0/trial-install-agents"},{"title":"Opening the Coordinator Monitor and Verifying the Installation Success","href":"/windows/10.35.0/trial-open-coordinator-verify-installation"},{"title":"Trial Requirements","href":"/windows/10.35.0/trial-requirements"},{"title":"Trial Scope","href":"/windows/10.35.0/trial-scope"},{"title":"Setting Up Incredibuild Environment","href":"/windows/10.35.0/trial-setup"},{"title":"Understanding Incredibuild Architecture","href":"/windows/10.35.0/trial-understand-architecture"},{"title":"Executing Your Build Using Visual Studio","href":"/windows/10.35.0/trial-visual-studio"},{"title":"Executing Your Visual Studio Build Using the Command Line","href":"/windows/10.35.0/trial-visual-studio-command-line"},{"title":"Incredibuild Free Trial Overview","href":"/windows/10.35.0/trial-welcome"},{"title":"Installing the Visual Studio Extension","href":"/windows/10.35.0/visual-studio-install"},{"title":"Uninstalling Incredibuild with the Visual Studio Extension","href":"/windows/10.35.0/visual-studio-uninstall"},{"title":"What Comes with the Trial Version?","href":"/windows/10.35.0/what-comes-with-trial"},{"title":"Advanced Test Level Optimization","href":"/windows/10.35.0/z-advanced-test-level-optimization"},{"title":"IBTestConsole Command Interface (for NUnit, GTest)","href":"/windows/10.35.0/z-ibtestconsole-interface"},{"title":"Incredibuild Documentation","href":"/windows/10.35.0/site-landing-page/index"}]}]},{"version":"10.34.3","pages":[{"title":"10.34.3","href":"/windows/10.34.3/features-and-settings"}]},{"version":"10.34.2","pages":[{"title":"10.34.2","href":"/windows/10.34.2/features-and-settings"}]},{"version":"10.34.1","pages":[{"title":"10.34.1","href":"/windows/10.34.1/features-and-settings"}]},{"version":"10.34.0","pages":[{"title":"10.34.0","href":"/windows/10.34.0/features-and-settings"}]},{"version":"10.33.0","pages":[{"title":"10.33.0","href":"/windows/10.33.0/features-and-settings"}]},{"version":"10.32.2","pages":[{"title":"10.32.2","href":"/windows/10.32.2/features-and-settings"}]},{"version":"10.32.1","pages":[{"title":"10.32.1","href":"/windows/10.32.1/features-and-settings"}]},{"version":"10.32.0","pages":[{"title":"10.32.0","href":"/windows/10.32.0/features-and-settings"}]},{"version":"10.31.2","pages":[{"title":"10.31.2","href":"/windows/10.31.2/features-and-settings"}]},{"version":"10.31.1","pages":[{"title":"10.31.1","href":"/windows/10.31.1/features-and-settings"}]},{"version":"10.31.0","pages":[{"title":"10.31.0","href":"/windows/10.31.0/features-and-settings"}]},{"version":"10.30.0","pages":[{"title":"10.30.0","href":"/windows/10.30.0/features-and-settings"}]},{"version":"10.29.1","pages":[{"title":"10.29.1","href":"/windows/10.29.1/features-and-settings"}]},{"version":"10.29","pages":[{"title":"10.29","href":"/windows/10.29/features-and-settings"}]},{"version":"10.28","pages":[{"title":"10.28","href":"/windows/10.28/features-and-settings"}]},{"version":"10.27.1","pages":[{"title":"10.27.1","href":"/windows/10.27.1/features-and-settings"}]},{"version":"10.27","pages":[{"title":"10.27","href":"/windows/10.27/features-and-settings"}]},{"version":"10.26","pages":[{"title":"10.26","href":"/windows/10.26/features-and-settings"}]}]},{"product":"Linux","icon":"linux","directory":"card","pages":[{"title":"Linux","href":"/linux/overview"}]},{"product":"Mac","icon":"apple","directory":"card","pages":[{"title":"Mac","href":"/mac/overview"}]},{"product":"Cloud","icon":"cloud","directory":"card","pages":[{"title":"Cloud","href":"/cloud/overview"}]},{"product":"Incredibuild Console","icon":"gauge","directory":"card","pages":[{"title":"Incredibuild Console","href":"/console/overview"}]}]},"title":"Build Cache - How Auto-Generated Code can Affect Efficiency - IncrediBuild Documentation","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":[],"chunks":[]}