add_library(Client STATIC app/App.cpp app/App.hpp app/AppPlatform.cpp app/AppPlatform.hpp app/Minecraft.cpp app/Minecraft.hpp app/NinecraftApp.cpp app/NinecraftApp.hpp model/ChickenModel.cpp model/ChickenModel.hpp model/CowModel.cpp model/CowModel.hpp model/CreeperModel.cpp model/CreeperModel.hpp model/Cube.cpp model/Cube.hpp model/HumanoidModel.cpp model/HumanoidModel.hpp model/Model.cpp model/Model.hpp model/ModelPart.cpp model/ModelPart.hpp model/PigModel.cpp model/PigModel.hpp model/PolygonQuad.cpp model/PolygonQuad.hpp model/QuadrupedModel.cpp model/QuadrupedModel.hpp model/SheepFurModel.cpp model/SheepFurModel.hpp model/SheepModel.cpp model/SheepModel.hpp model/SkeletonModel.cpp model/SkeletonModel.hpp model/SpiderModel.cpp model/SpiderModel.hpp model/ZombieModel.cpp model/ZombieModel.hpp network/ClientSideNetworkHandler.cpp network/ClientSideNetworkHandler.hpp player/LocalPlayer.cpp player/LocalPlayer.hpp player/input/Controller.cpp player/input/Controller.hpp player/input/ControllerTurnInput.cpp player/input/ControllerTurnInput.hpp player/input/CustomInputHolder.cpp player/input/CustomInputHolder.hpp player/input/IBuildInput.cpp player/input/IBuildInput.hpp player/input/IInputHolder.cpp player/input/IInputHolder.hpp player/input/IMoveInput.cpp player/input/IMoveInput.hpp player/input/ITouchScreenModel.cpp player/input/ITouchScreenModel.hpp player/input/ITurnInput.cpp player/input/ITurnInput.hpp player/input/IncludeExcludeArea.cpp player/input/IncludeExcludeArea.hpp player/input/Keyboard.cpp player/input/Keyboard.hpp player/input/KeyboardInput.cpp player/input/KeyboardInput.hpp player/input/Mouse.cpp player/input/Mouse.hpp player/input/MouseDevice.cpp player/input/MouseDevice.hpp player/input/MouseHandler.cpp player/input/MouseHandler.hpp player/input/MouseTurnInput.cpp player/input/MouseTurnInput.hpp player/input/Multitouch.cpp player/input/Multitouch.hpp player/input/PolygonArea.cpp player/input/PolygonArea.hpp player/input/RectangleArea.cpp player/input/RectangleArea.hpp player/input/TouchAreaModel.cpp player/input/TouchAreaModel.hpp player/input/TouchInputHolder.cpp player/input/TouchInputHolder.hpp player/input/TouchscreenInput_TestFps.cpp player/input/TouchscreenInput_TestFps.hpp player/input/UnifiedTurnBuild.cpp player/input/UnifiedTurnBuild.hpp renderer/Chunk.cpp renderer/Chunk.hpp renderer/Culler.cpp renderer/Culler.hpp renderer/DynamicTexture.cpp renderer/DynamicTexture.hpp renderer/FireTexture.cpp renderer/FoliageColor.cpp renderer/FoliageColor.hpp renderer/Font.cpp renderer/Font.hpp renderer/Frustum.cpp renderer/Frustum.hpp renderer/FrustumCuller.cpp renderer/FrustumCuller.hpp renderer/GameRenderer.cpp renderer/GameRenderer.hpp renderer/GrassColor.cpp renderer/GrassColor.hpp renderer/ItemInHandRenderer.cpp renderer/ItemInHandRenderer.hpp renderer/LavaSideTexture.cpp renderer/LavaTexture.cpp renderer/LevelRenderer.cpp renderer/LevelRenderer.hpp renderer/PatchManager.cpp renderer/PatchManager.hpp renderer/RenderChunk.cpp renderer/RenderChunk.hpp renderer/RenderList.cpp renderer/RenderList.hpp renderer/Tesselator.cpp renderer/Tesselator.hpp renderer/Textures.cpp renderer/Textures.hpp renderer/TileRenderer.cpp renderer/TileRenderer.hpp renderer/WaterSideTexture.cpp renderer/WaterTexture.cpp renderer/entity/ChickenRenderer.cpp renderer/entity/ChickenRenderer.hpp renderer/entity/CowRenderer.cpp renderer/entity/CowRenderer.hpp renderer/entity/CreeperRenderer.cpp renderer/entity/CreeperRenderer.hpp renderer/entity/EntityRenderDispatcher.cpp renderer/entity/EntityRenderDispatcher.hpp renderer/entity/EntityRenderer.cpp renderer/entity/EntityRenderer.hpp renderer/entity/FallingTileRenderer.cpp renderer/entity/FallingTileRenderer.hpp renderer/entity/HumanoidMobRenderer.cpp renderer/entity/HumanoidMobRenderer.hpp renderer/entity/ItemRenderer.cpp renderer/entity/ItemRenderer.hpp renderer/entity/ItemSpriteRenderer.cpp renderer/entity/ItemSpriteRenderer.hpp renderer/entity/MobRenderer.cpp renderer/entity/MobRenderer.hpp renderer/entity/PigRenderer.cpp renderer/entity/PigRenderer.hpp renderer/entity/RocketRenderer.cpp renderer/entity/RocketRenderer.hpp renderer/entity/SheepFurRenderer.cpp renderer/entity/SheepFurRenderer.hpp renderer/entity/SheepRenderer.cpp renderer/entity/SheepRenderer.hpp renderer/entity/SkeletonRenderer.cpp renderer/entity/SkeletonRenderer.hpp renderer/entity/SpiderRenderer.cpp renderer/entity/SpiderRenderer.hpp renderer/entity/TntRenderer.cpp renderer/entity/TntRenderer.hpp renderer/entity/TripodCameraRenderer.cpp renderer/entity/TripodCameraRenderer.hpp renderer/entity/ZombieRenderer.cpp renderer/entity/ZombieRenderer.hpp sound/SoundData.cpp sound/SoundData.hpp sound/SoundEngine.cpp sound/SoundEngine.hpp sound/SoundRepository.cpp sound/SoundRepository.hpp sound/SoundSystem.cpp sound/SoundSystem.hpp ) if (NEWUI) # NOTE: NEWUI definition is actually used only in Minecraft.cpp target_compile_definitions(Client PRIVATE NEWUI) add_subdirectory(newui) else() add_subdirectory(gui) endif() # Sound Data if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../../sound_data/sounds.h") if(NOT DEFINED ENV{CI}) message(WARNING "Missing sound data! Did you run tools/grabsounds.py?") endif() target_compile_definitions(Client PRIVATE MISSING_SOUND_DATA) endif() target_link_libraries(Client PUBLIC Renderer Gui) target_link_libraries(Client PRIVATE Server World)