CCCPaste

Engine/CMakeLists.txt

# Engine module
add_library(Engine STATIC)

# Engine sources
target_sources(
    Engine PRIVATE

    Audio/Private/Effects/Echo.cpp
    Audio/Private/Effects/Reverb.cpp
    Audio/Private/Formats/OGGLoader.cpp
    Audio/Private/Formats/WAVLoader.cpp
    Audio/Private/AudioManager.cpp
    Audio/Private/AudioSystem.cpp
    Audio/Private/AudioUtils.cpp
    Audio/Private/Music.cpp
    Audio/Private/Sound.cpp

    Core/Private/Math/Vector2.cpp
    Core/Private/Math/Vector3.cpp
    Core/Private/Audio.cpp
    Core/Private/Engine.cpp
    Core/Private/Graphics.cpp
    Core/Private/Input.cpp
    Core/Private/Layer.cpp
    Core/Private/LayerStack.cpp
    Core/Private/Time.cpp

    Editor/Private/AnimationBuilder/AnimationBuilder.cpp
    Editor/Private/ModelImporter/ModelImporter.cpp
    Editor/Private/PluginManager/PluginManager.cpp
    Editor/Private/SceneExporter/SceneExporter.cpp
    Editor/Private/TextureProcessor/TextureProcessor.cpp
    Editor/Private/AssetBrowserWindow.cpp
    Editor/Private/Command.cpp
    Editor/Private/Editor.cpp
    Editor/Private/EditorUtils.cpp
    Editor/Private/EditorWindow.cpp
    Editor/Private/InspectorWindow.cpp
    Editor/Private/SceneViewWindow.cpp
    Editor/Private/Toolbar.cpp
    Editor/Private/UndoStack.cpp

    Graphics/Private/Camera.cpp
    Graphics/Private/Graphics.cpp
    Graphics/Private/Light.cpp
    Graphics/Private/Material.cpp
    Graphics/Private/Mesh.cpp
    Graphics/Private/RenderTarget.cpp
    Graphics/Private/Shader.cpp
    Graphics/Private/Texture.cpp

    Input/Private/Gamepad.cpp
    Input/Private/InputManager.cpp
    Input/Private/InputUtils.cpp
    Input/Private/Keyboard.cpp
    Input/Private/Mouse.cpp

    Networking/Private/NetworkClient.cpp
    Networking/Private/NetworkManager.cpp
    Networking/Private/NetworkServer.cpp
    Networking/Private/Packet.cpp
    Networking/Private/Serialization.cpp

    Physics/Private/Collider.cpp
    Physics/Private/CollisionDetection.cpp
    Physics/Private/CollisionShape.cpp
    Physics/Private/PhysicsMaterial.cpp
    Physics/Private/PhysicsWorld.cpp
    Physics/Private/Rigidbody.cpp

    Platform/Private/GenericPlatform/GenericAudioSystem.cpp
    Platform/Private/GenericPlatform/GenericFileSystem.cpp
    Platform/Private/GenericPlatform/GenericGraphicsContext.cpp
    Platform/Private/GenericPlatform/GenericInputSystem.cpp
    Platform/Private/GenericPlatform/GenericNetworking.cpp
    Platform/Private/GenericPlatform/GenericPlatform.cpp
    Platform/Private/GenericPlatform/GenericTimeUtils.cpp
    Platform/Private/GenericPlatform/GenericWindow.cpp

    Platform/Private/Linux/LinuxAudioSystem.cpp
    Platform/Private/Linux/LinuxFileSystem.cpp
    Platform/Private/Linux/LinuxGraphicsContext.cpp
    Platform/Private/Linux/LinuxInputSystem.cpp
    Platform/Private/Linux/LinuxNetworking.cpp
    Platform/Private/Linux/LinuxPlatform.cpp
    Platform/Private/Linux/LinuxTimeUtils.cpp
    Platform/Private/Linux/LinuxWindow.cpp

    Platform/Private/Mac/MacAudioSystem.cpp
    Platform/Private/Mac/MacFileSystem.cpp
    Platform/Private/Mac/MacGraphicsContext.cpp
    Platform/Private/Mac/MacInputSystem.cpp
    Platform/Private/Mac/MacNetworking.cpp
    Platform/Private/Mac/MacPlatform.cpp
    Platform/Private/Mac/MacTimeUtils.cpp
    Platform/Private/Mac/MacWindow.cpp

    Platform/Private/Mobile/MobileAudioSystem.cpp
    Platform/Private/Mobile/MobileFileSystem.cpp
    Platform/Private/Mobile/MobileGraphicsContext.cpp
    Platform/Private/Mobile/MobileInputSystem.cpp
    Platform/Private/Mobile/MobileNetworking.cpp
    Platform/Private/Mobile/MobilePlatform.cpp
    Platform/Private/Mobile/MobileTimeUtils.cpp
    Platform/Private/Mobile/MobileWindow.cpp

    Platform/Private/Windows/WindowsAudioSystem.cpp
    Platform/Private/Windows/WindowsFileSystem.cpp
    Platform/Private/Windows/WindowsGraphicsContext.cpp
    Platform/Private/Windows/WindowsInputSystem.cpp
    Platform/Private/Windows/WindowsNetworking.cpp
    Platform/Private/Windows/WindowsPlatform.cpp
    Platform/Private/Windows/WindowsTimeUtils.cpp
    Platform/Private/Windows/WindowsWindow.cpp

    Resource/Private/AudioResource.cpp
    Resource/Private/MeshResource.cpp
    Resource/Private/Resource.cpp
    Resource/Private/ResourceManager.cpp
    Resource/Private/TextureResource.cpp

    Scene/Private/Component.cpp
    Scene/Private/GameObject.cpp
    Scene/Private/RendererComponent.cpp
    Scene/Private/Scene.cpp
    Scene/Private/SceneManager.cpp
    Scene/Private/TransformComponent.cpp

    Scripting/Private/CSharpScriptEngine.cpp
    Scripting/Private/LuaScriptEngine.cpp
    Scripting/Private/ScriptManager.cpp
    Scripting/Private/ScriptObject.cpp

    Serialization/Private/BinarySerializer.cpp
    Serialization/Private/Deserializer.cpp
    Serialization/Private/JsonSerializer.cpp
    Serialization/Private/Serializable.cpp
    Serialization/Private/Serializer.cpp

    UI/Private/Button.cpp
    UI/Private/Canvas.cpp
    UI/Private/Checkbox.cpp
    UI/Private/Dropdown.cpp
    UI/Private/Label.cpp
    UI/Private/Panel.cpp
    UI/Private/ProgressBar.cpp
    UI/Private/RadioButton.cpp
    UI/Private/Slider.cpp
    UI/Private/TextBox.cpp
    UI/Private/UIElement.cpp
    UI/Private/UIManager.cpp
)

# Engine include directories
target_include_directories(
    Engine PUBLIC

    Audio/Public
    Core/Public
    Editor/Public
    Graphics/Public
    Input/Public
    Networking/Public
    Physics/Public
    Platform/Public
    Resource/Public
    Scene/Public
    Scripting/Public
    Serialization/Public
    UI/Public
)