set(PROJECT_NAME DirectXTK_Desktop_2022)

################################################################################
# Source groups
################################################################################
set(no_group_source_files
    "Readme.txt"
)
source_group("" FILES ${no_group_source_files})

set(Inc
    "Inc/CommonStates.h"
    "Inc/DDSTextureLoader.h"
    "Inc/DirectXHelpers.h"
    "Inc/Effects.h"
    "Inc/GeometricPrimitive.h"
    "Inc/GraphicsMemory.h"
    "Inc/Model.h"
    "Inc/PostProcess.h"
    "Inc/PrimitiveBatch.h"
    "Inc/ScreenGrab.h"
    "Inc/SpriteBatch.h"
    "Inc/SpriteFont.h"
    "Inc/VertexTypes.h"
    "Inc/WICTextureLoader.h"
)
source_group("Inc" FILES ${Inc})

set(Inc__Shared
    "Inc/GamePad.h"
    "Inc/Keyboard.h"
    "Inc/Mouse.h"
    "Inc/SimpleMath.h"
    "Inc/SimpleMath.inl"
)
source_group("Inc\\Shared" FILES ${Inc__Shared})

set(Src
    "Src/AlphaTestEffect.cpp"
    "Src/BasicEffect.cpp"
    "Src/BasicPostProcess.cpp"
    "Src/CommonStates.cpp"
    "Src/ConstantBuffer.h"
    "Src/DDSTextureLoader.cpp"
    "Src/DGSLEffect.cpp"
    "Src/DGSLEffectFactory.cpp"
    "Src/DualPostProcess.cpp"
    "Src/DualTextureEffect.cpp"
    "Src/EffectCommon.cpp"
    "Src/EffectCommon.h"
    "Src/EffectFactory.cpp"
    "Src/EnvironmentMapEffect.cpp"
    "Src/GeometricPrimitive.cpp"
    "Src/GraphicsMemory.cpp"
    "Src/Model.cpp"
    "Src/ModelLoadCMO.cpp"
    "Src/ModelLoadSDKMESH.cpp"
    "Src/ModelLoadVBO.cpp"
    "Src/NormalMapEffect.cpp"
    "Src/pch.cpp"
    "Src/pch.h"
    "Src/PrimitiveBatch.cpp"
    "Src/ScreenGrab.cpp"
    "Src/SkinnedEffect.cpp"
    "Src/SpriteBatch.cpp"
    "Src/SpriteFont.cpp"
    "Src/ToneMapPostProcess.cpp"
    "Src/VertexTypes.cpp"
    "Src/WICTextureLoader.cpp"
)
source_group("Src" FILES ${Src})

set(Src__Shaders
    "Src/Shaders/AlphaTestEffect.fx"
    "Src/Shaders/BasicEffect.fx"
    "Src/Shaders/CompileShaders.cmd"
    "Src/Shaders/DGSLEffect.fx"
    "Src/Shaders/DGSLLambert.hlsl"
    "Src/Shaders/DGSLPhong.hlsl"
    "Src/Shaders/DGSLUnlit.hlsl"
    "Src/Shaders/DualTextureEffect.fx"
    "Src/Shaders/EnvironmentMapEffect.fx"
    "Src/Shaders/NormalMapEffect.fx"
    "Src/Shaders/PostProcess.fx"
    "Src/Shaders/SkinnedEffect.fx"
    "Src/Shaders/SpriteEffect.fx"
    "Src/Shaders/ToneMap.fx"
)
source_group("Src\\Shaders" FILES ${Src__Shaders})

set(Src__Shaders__Compiled
    "Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNe.inc"
    "Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNeNoFog.inc"
    "Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGt.inc"
    "Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGtNoFog.inc"
    "Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTest.inc"
    "Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestNoFog.inc"
    "Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestVc.inc"
    "Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestVcNoFog.inc"
    "Src/Shaders/Compiled/BasicEffect_PSBasic.inc"
    "Src/Shaders/Compiled/BasicEffect_PSBasicNoFog.inc"
    "Src/Shaders/Compiled/BasicEffect_PSBasicPixelLighting.inc"
    "Src/Shaders/Compiled/BasicEffect_PSBasicPixelLightingTx.inc"
    "Src/Shaders/Compiled/BasicEffect_PSBasicTx.inc"
    "Src/Shaders/Compiled/BasicEffect_PSBasicTxNoFog.inc"
    "Src/Shaders/Compiled/BasicEffect_PSBasicVertexLighting.inc"
    "Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingNoFog.inc"
    "Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTx.inc"
    "Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTxNoFog.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasic.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicNoFog.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLight.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightBn.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTx.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTxBn.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTxVc.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTxVcBn.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightVc.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightVcBn.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLighting.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingBn.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTx.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxBn.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxVc.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxVcBn.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVc.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVcBn.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicTx.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicTxNoFog.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicTxVc.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicTxVcNoFog.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVc.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVcNoFog.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLighting.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingBn.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTx.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxBn.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVc.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVcBn.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVc.inc"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVcBn.inc"
    "Src/Shaders/Compiled/DGSLEffect_main.inc"
    "Src/Shaders/Compiled/DGSLEffect_main1Bones.inc"
    "Src/Shaders/Compiled/DGSLEffect_main1BonesVc.inc"
    "Src/Shaders/Compiled/DGSLEffect_main2Bones.inc"
    "Src/Shaders/Compiled/DGSLEffect_main2BonesVc.inc"
    "Src/Shaders/Compiled/DGSLEffect_main4Bones.inc"
    "Src/Shaders/Compiled/DGSLEffect_main4BonesVc.inc"
    "Src/Shaders/Compiled/DGSLEffect_mainVc.inc"
    "Src/Shaders/Compiled/DGSLLambert_main.inc"
    "Src/Shaders/Compiled/DGSLLambert_mainTk.inc"
    "Src/Shaders/Compiled/DGSLLambert_mainTx.inc"
    "Src/Shaders/Compiled/DGSLLambert_mainTxTk.inc"
    "Src/Shaders/Compiled/DGSLPhong_main.inc"
    "Src/Shaders/Compiled/DGSLPhong_mainTk.inc"
    "Src/Shaders/Compiled/DGSLPhong_mainTx.inc"
    "Src/Shaders/Compiled/DGSLPhong_mainTxTk.inc"
    "Src/Shaders/Compiled/DGSLUnlit_main.inc"
    "Src/Shaders/Compiled/DGSLUnlit_mainTk.inc"
    "Src/Shaders/Compiled/DGSLUnlit_mainTx.inc"
    "Src/Shaders/Compiled/DGSLUnlit_mainTxTk.inc"
    "Src/Shaders/Compiled/DualTextureEffect_PSDualTexture.inc"
    "Src/Shaders/Compiled/DualTextureEffect_PSDualTextureNoFog.inc"
    "Src/Shaders/Compiled/DualTextureEffect_VSDualTexture.inc"
    "Src/Shaders/Compiled/DualTextureEffect_VSDualTextureNoFog.inc"
    "Src/Shaders/Compiled/DualTextureEffect_VSDualTextureVc.inc"
    "Src/Shaders/Compiled/DualTextureEffect_VSDualTextureVcNoFog.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMap.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapNoFog.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLighting.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecular.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMap.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapBn.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnel.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnelBn.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLight.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightBn.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLighting.inc"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc"
    "Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTx.inc"
    "Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTxNoFog.inc"
    "Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc"
    "Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc"
    "Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTx.inc"
    "Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxBn.inc"
    "Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxVc.inc"
    "Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxVcBn.inc"
    "Src/Shaders/Compiled/PostProcess_PSBloomBlur.inc"
    "Src/Shaders/Compiled/PostProcess_PSBloomCombine.inc"
    "Src/Shaders/Compiled/PostProcess_PSBloomExtract.inc"
    "Src/Shaders/Compiled/PostProcess_PSCopy.inc"
    "Src/Shaders/Compiled/PostProcess_PSDownScale2x2.inc"
    "Src/Shaders/Compiled/PostProcess_PSDownScale4x4.inc"
    "Src/Shaders/Compiled/PostProcess_PSGaussianBlur5x5.inc"
    "Src/Shaders/Compiled/PostProcess_PSMerge.inc"
    "Src/Shaders/Compiled/PostProcess_PSMonochrome.inc"
    "Src/Shaders/Compiled/PostProcess_PSSepia.inc"
    "Src/Shaders/Compiled/PostProcess_VSQuad.inc"
    "Src/Shaders/Compiled/SkinnedEffect_PSSkinnedPixelLighting.inc"
    "Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLighting.inc"
    "Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLightingNoFog.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightFourBones.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightFourBonesBn.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightOneBone.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightOneBoneBn.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightTwoBones.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBones.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBone.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBones.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBone.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc"
    "Src/Shaders/Compiled/SpriteEffect_SpritePixelShader.inc"
    "Src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc"
    "Src/Shaders/Compiled/ToneMap_PS_SRGB.inc"
    "Src/Shaders/Compiled/ToneMap_PSACESFilmic.inc"
    "Src/Shaders/Compiled/ToneMap_PSACESFilmic_SRGB.inc"
    "Src/Shaders/Compiled/ToneMap_PSCopy.inc"
    "Src/Shaders/Compiled/ToneMap_PSHDR10.inc"
    "Src/Shaders/Compiled/ToneMap_PSReinhard.inc"
    "Src/Shaders/Compiled/ToneMap_PSReinhard_SRGB.inc"
    "Src/Shaders/Compiled/ToneMap_PSSaturate.inc"
    "Src/Shaders/Compiled/ToneMap_PSSaturate_SRGB.inc"
    "Src/Shaders/Compiled/ToneMap_VSQuad.inc"
)
source_group("Src\\Shaders\\Compiled" FILES ${Src__Shaders__Compiled})

set(Src__Shaders__Shared
    "Src/Shaders/Common.fxh"
    "Src/Shaders/Lighting.fxh"
    "Src/Shaders/Structures.fxh"
    "Src/Shaders/Utilities.fxh"
)
source_group("Src\\Shaders\\Shared" FILES ${Src__Shaders__Shared})

set(Src__Shaders__Symbols
    "Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNe.pdb"
    "Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNeNoFog.pdb"
    "Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGt.pdb"
    "Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGtNoFog.pdb"
    "Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTest.pdb"
    "Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestNoFog.pdb"
    "Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestVc.pdb"
    "Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestVcNoFog.pdb"
    "Src/Shaders/Compiled/BasicEffect_PSBasic.pdb"
    "Src/Shaders/Compiled/BasicEffect_PSBasicNoFog.pdb"
    "Src/Shaders/Compiled/BasicEffect_PSBasicPixelLighting.pdb"
    "Src/Shaders/Compiled/BasicEffect_PSBasicPixelLightingTx.pdb"
    "Src/Shaders/Compiled/BasicEffect_PSBasicTx.pdb"
    "Src/Shaders/Compiled/BasicEffect_PSBasicTxNoFog.pdb"
    "Src/Shaders/Compiled/BasicEffect_PSBasicVertexLighting.pdb"
    "Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingNoFog.pdb"
    "Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTx.pdb"
    "Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTxNoFog.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasic.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicNoFog.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLight.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightBn.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTx.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTxBn.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTxVc.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTxVcBn.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightVc.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicOneLightVcBn.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLighting.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingBn.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTx.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxBn.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxVc.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxVcBn.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVc.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVcBn.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicTx.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicTxNoFog.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicTxVc.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicTxVcNoFog.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVc.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVcNoFog.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLighting.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingBn.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTx.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxBn.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVc.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVcBn.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVc.pdb"
    "Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVcBn.pdb"
    "Src/Shaders/Compiled/DGSLEffect_main.pdb"
    "Src/Shaders/Compiled/DGSLEffect_main1Bones.pdb"
    "Src/Shaders/Compiled/DGSLEffect_main1BonesVc.pdb"
    "Src/Shaders/Compiled/DGSLEffect_main2Bones.pdb"
    "Src/Shaders/Compiled/DGSLEffect_main2BonesVc.pdb"
    "Src/Shaders/Compiled/DGSLEffect_main4Bones.pdb"
    "Src/Shaders/Compiled/DGSLEffect_main4BonesVc.pdb"
    "Src/Shaders/Compiled/DGSLEffect_mainVc.pdb"
    "Src/Shaders/Compiled/DGSLLambert_main.pdb"
    "Src/Shaders/Compiled/DGSLLambert_mainTk.pdb"
    "Src/Shaders/Compiled/DGSLLambert_mainTx.pdb"
    "Src/Shaders/Compiled/DGSLLambert_mainTxTk.pdb"
    "Src/Shaders/Compiled/DGSLPhong_main.pdb"
    "Src/Shaders/Compiled/DGSLPhong_mainTk.pdb"
    "Src/Shaders/Compiled/DGSLPhong_mainTx.pdb"
    "Src/Shaders/Compiled/DGSLPhong_mainTxTk.pdb"
    "Src/Shaders/Compiled/DGSLUnlit_main.pdb"
    "Src/Shaders/Compiled/DGSLUnlit_mainTk.pdb"
    "Src/Shaders/Compiled/DGSLUnlit_mainTx.pdb"
    "Src/Shaders/Compiled/DGSLUnlit_mainTxTk.pdb"
    "Src/Shaders/Compiled/DualTextureEffect_PSDualTexture.pdb"
    "Src/Shaders/Compiled/DualTextureEffect_PSDualTextureNoFog.pdb"
    "Src/Shaders/Compiled/DualTextureEffect_VSDualTexture.pdb"
    "Src/Shaders/Compiled/DualTextureEffect_VSDualTextureNoFog.pdb"
    "Src/Shaders/Compiled/DualTextureEffect_VSDualTextureVc.pdb"
    "Src/Shaders/Compiled/DualTextureEffect_VSDualTextureVcNoFog.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMap.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapNoFog.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLighting.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecular.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMap.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapBn.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnel.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnelBn.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLight.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightBn.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLighting.pdb"
    "Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb"
    "Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTx.pdb"
    "Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb"
    "Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb"
    "Src/Shaders/Compiled/NormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb"
    "Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTx.pdb"
    "Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxBn.pdb"
    "Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxVc.pdb"
    "Src/Shaders/Compiled/NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb"
    "Src/Shaders/Compiled/PostProcess_PSBloomBlur.pdb"
    "Src/Shaders/Compiled/PostProcess_PSBloomCombine.pdb"
    "Src/Shaders/Compiled/PostProcess_PSBloomExtract.pdb"
    "Src/Shaders/Compiled/PostProcess_PSCopy.pdb"
    "Src/Shaders/Compiled/PostProcess_PSDownScale2x2.pdb"
    "Src/Shaders/Compiled/PostProcess_PSDownScale4x4.pdb"
    "Src/Shaders/Compiled/PostProcess_PSGaussianBlur5x5.pdb"
    "Src/Shaders/Compiled/PostProcess_PSMerge.pdb"
    "Src/Shaders/Compiled/PostProcess_PSMonochrome.pdb"
    "Src/Shaders/Compiled/PostProcess_PSSepia.pdb"
    "Src/Shaders/Compiled/PostProcess_VSQuad.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_PSSkinnedPixelLighting.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLighting.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightFourBones.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightOneBone.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightTwoBones.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb"
    "Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb"
    "Src/Shaders/Compiled/SpriteEffect_SpritePixelShader.pdb"
    "Src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.pdb"
    "Src/Shaders/Compiled/ToneMap_PS_SRGB.pdb"
    "Src/Shaders/Compiled/ToneMap_PSACESFilmic.pdb"
    "Src/Shaders/Compiled/ToneMap_PSACESFilmic_SRGB.pdb"
    "Src/Shaders/Compiled/ToneMap_PSCopy.pdb"
    "Src/Shaders/Compiled/ToneMap_PSHDR10.pdb"
    "Src/Shaders/Compiled/ToneMap_PSReinhard.pdb"
    "Src/Shaders/Compiled/ToneMap_PSReinhard_SRGB.pdb"
    "Src/Shaders/Compiled/ToneMap_PSSaturate.pdb"
    "Src/Shaders/Compiled/ToneMap_PSSaturate_SRGB.pdb"
    "Src/Shaders/Compiled/ToneMap_VSQuad.pdb"
)
source_group("Src\\Shaders\\Symbols" FILES ${Src__Shaders__Symbols})

set(Src__Shared
    "Src/AlignedNew.h"
    "Src/Bezier.h"
    "Src/BinaryReader.cpp"
    "Src/BinaryReader.h"
    "Src/dds.h"
    "Src/DemandCreate.h"
    "Src/GamePad.cpp"
    "Src/Geometry.cpp"
    "Src/Geometry.h"
    "Src/Keyboard.cpp"
    "Src/LoaderHelpers.h"
    "Src/Mouse.cpp"
    "Src/PlatformHelpers.h"
    "Src/SDKMesh.h"
    "Src/SharedResourcePool.h"
    "Src/SimpleMath.cpp"
    "Src/TeapotData.inc"
    "Src/vbo.h"
)
source_group("Src\\Shared" FILES ${Src__Shared})

set(ALL_FILES
    ${no_group_source_files}
    ${Inc}
    ${Inc__Shared}
    ${Src}
    ${Src__Shaders}
    ${Src__Shaders__Compiled}
    ${Src__Shaders__Shared}
    ${Src__Shaders__Symbols}
    ${Src__Shared}
)

################################################################################
# Target
################################################################################
add_library(${PROJECT_NAME} STATIC ${ALL_FILES})

target_precompile_headers(${PROJECT_NAME} PRIVATE
    "$<$<COMPILE_LANGUAGE:CXX>:${CMAKE_CURRENT_SOURCE_DIR}/Src/pch.h>"
)

use_props(${PROJECT_NAME} "${CMAKE_CONFIGURATION_TYPES}" "${DEFAULT_CXX_PROPS}")
set(ROOT_NAMESPACE DirectXTK)

set_target_properties(${PROJECT_NAME} PROPERTIES
    VS_GLOBAL_KEYWORD "Win32Proj"
)
################################################################################
# Target name
################################################################################
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
    set_target_properties(${PROJECT_NAME} PROPERTIES
        TARGET_NAME_DEBUG   "DirectXTK"
        TARGET_NAME_RELEASE "DirectXTK"
    )
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
    set_target_properties(${PROJECT_NAME} PROPERTIES
        TARGET_NAME_DEBUG   "DirectXTK"
        TARGET_NAME_RELEASE "DirectXTK"
    )
endif()
################################################################################
# Output directory
################################################################################
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
    set_target_properties(${PROJECT_NAME} PROPERTIES
        OUTPUT_DIRECTORY_DEBUG   "${CMAKE_CURRENT_SOURCE_DIR}/Bin/Desktop_2022/${CMAKE_VS_PLATFORM_NAME}/$<CONFIG>/"
        OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/Bin/Desktop_2022/${CMAKE_VS_PLATFORM_NAME}/$<CONFIG>/"
    )
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
    set_target_properties(${PROJECT_NAME} PROPERTIES
        OUTPUT_DIRECTORY_DEBUG   "${CMAKE_CURRENT_SOURCE_DIR}/Bin/Desktop_2022/${CMAKE_VS_PLATFORM_NAME}/$<CONFIG>/"
        OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/Bin/Desktop_2022/${CMAKE_VS_PLATFORM_NAME}/$<CONFIG>/"
    )
endif()
################################################################################
# Include directories
################################################################################
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
    target_include_directories(${PROJECT_NAME} PUBLIC
        "${CMAKE_CURRENT_SOURCE_DIR}/Inc"
    )
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
    target_include_directories(${PROJECT_NAME} PUBLIC
        "${CMAKE_CURRENT_SOURCE_DIR}/Inc"
    )
endif()

################################################################################
# Compile definitions
################################################################################
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
    target_compile_definitions(${PROJECT_NAME} PRIVATE
        "$<$<CONFIG:Debug>:"
            "_DEBUG"
        ">"
        "$<$<CONFIG:Release>:"
            "NDEBUG"
        ">"
        "_WIN32_WINNT=0x0600;"
        "_WIN7_PLATFORM_UPDATE;"
        "WIN32;"
        "_LIB;"
        "_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;"
        "UNICODE;"
        "_UNICODE"
    )
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
    target_compile_definitions(${PROJECT_NAME} PRIVATE
        "$<$<CONFIG:Debug>:"
            "_DEBUG"
        ">"
        "$<$<CONFIG:Release>:"
            "NDEBUG"
        ">"
        "_WIN32_WINNT=0x0600;"
        "_WIN7_PLATFORM_UPDATE;"
        "WIN32;"
        "_LIB;"
        "_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;"
        "UNICODE;"
        "_UNICODE"
    )
endif()

################################################################################
# Compile and link options
################################################################################
if(MSVC)
    if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
        target_compile_options(${PROJECT_NAME} PRIVATE
            $<$<CONFIG:Debug>:
                /Od
            >
            $<$<CONFIG:Release>:
                /O2;
                /Oi;
                /Gy
            >
            /arch:SSE2;
            ${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT};
            /fp:fast;
            /wd4996;
            /permissive-;
            /Zc:twoPhase-;
            ${DEFAULT_CXX_EXCEPTION_HANDLING}
        )
    elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
        target_compile_options(${PROJECT_NAME} PRIVATE
            $<$<CONFIG:Debug>:
                /Od
            >
            $<$<CONFIG:Release>:
                /O2;
                /Oi;
                /Gy
            >
            ${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT};
            /fp:fast;
            /wd4996;
            /permissive-;
            /Zc:twoPhase-;
            ${DEFAULT_CXX_EXCEPTION_HANDLING}
        )
    endif()
    if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
        target_link_options(${PROJECT_NAME} PRIVATE
            $<$<CONFIG:Release>:
                /OPT:REF;
                /OPT:ICF
            >
            /SUBSYSTEM:WINDOWS
        )
    elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
        target_link_options(${PROJECT_NAME} PRIVATE
            $<$<CONFIG:Release>:
                /OPT:REF;
                /OPT:ICF
            >
            /SUBSYSTEM:WINDOWS
        )
    endif()
endif()

