add_library(Engine STATIC
    Header/Helpers/Name.hpp
    Header/Helpers/Strings.hpp
    Header/Helpers/XML.hpp
    Header/Helpers/NormalId.hpp
    Header/App/Script/ReflectionProperty.hpp
    Header/App/GUI/GuiBase3d.hpp
    Header/App/GUI/InstanceAdornment.hpp
    Header/App/GUI/SelectionBox.hpp
    Header/App/GUI/TopMenuBar.hpp
    Header/App/Humanoid/Humanoid.hpp
    Header/App/V8/DataModel/Camera.hpp
    Header/App/V8/DataModel/DataModel.hpp
    Header/App/V8/DataModel/ForceField.hpp
    Header/App/V8/DataModel/PartInstance.hpp
    Header/App/V8/DataModel/Light.hpp
    Header/App/V8/DataModel/FaceInstance.hpp
    Header/App/V8/DataModel/RunService.hpp
    Header/App/V8/DataModel/Workspace.hpp
    Header/App/V8/Tree/Instance.hpp
    Header/App/V8/Tree/InstanceFactory.hpp
    Header/App/V8/Tree/PVInstance.hpp
    Header/App/V8/Tree/ModelInstance.hpp
    Header/App/V8/World/World.hpp
    Header/App/CoordinateFrame.hpp
    Header/App/BrickColor.hpp
    Header/App/InputManager.hpp
    Header/Network/GUID.hpp
    Header/Rendering/Adorn.hpp

    Source/Helpers/Name.cpp
    Source/Helpers/Strings.cpp
    Source/Helpers/XML.cpp
    Source/Helpers/NormalId.cpp
    Source/App/Script/ReflectionProperty.cpp
    Source/App/GUI/GuiBase3d.cpp
    Source/App/GUI/InstanceAdornment.cpp
    Source/App/GUI/SelectionBox.cpp
    Source/App/GUI/TopMenuBar.cpp
    Source/App/Humanoid/Humanoid.cpp
    Source/App/V8/DataModel/Camera.cpp
    Source/App/V8/DataModel/DataModel.cpp
    Source/App/V8/DataModel/ForceField.cpp
    Source/App/V8/DataModel/PartInstance.cpp
    Source/App/V8/DataModel/Light.cpp
    Source/App/V8/DataModel/FaceInstance.cpp
    Source/App/V8/DataModel/RunService.cpp
    Source/App/V8/DataModel/Workspace.cpp
    Source/App/V8/Tree/Instance.cpp
    Source/App/V8/Tree/InstanceFactory.cpp
    Source/App/V8/Tree/PVInstance.cpp    
    Source/App/V8/Tree/ModelInstance.cpp    
    Source/App/CoordinateFrame.cpp
    Source/App/BrickColor.cpp
    Source/App/InputManager.cpp
    Source/App/V8/World/World.cpp
    Source/Network/GUID.cpp
    Source/Rendering/Adorn.cpp
)

target_include_directories(Engine PUBLIC ${BOOST_INCLUDE_DIRS} Header/)
target_link_libraries(Engine PUBLIC ${BOOST_LIBRARIES} pugixml OgreBites Luau.Analysis Luau.Ast Luau.Compiler Luau.VM)