add_library(3D STATIC) set(SOURCES src/AABox.cpp src/AABox.hpp src/AABSPTree.hpp src/Array.hpp src/BinaryFormat.hpp src/BinaryInput.cpp src/BinaryInput.hpp src/BinaryOutput.cpp src/BinaryOutput.hpp src/BoundsTrait.hpp src/Box.cpp src/Box.hpp src/BumpMapPreprocess.hpp src/Capsule.cpp src/Capsule.hpp src/CollisionDetection.cpp src/CollisionDetection.hpp src/Color1.hpp src/Color1uint8.hpp src/Color3.cpp src/Color3.hpp src/Color3uint8.cpp src/Color3uint8.hpp src/Color4.cpp src/Color4.hpp src/Color4uint8.cpp src/Color4uint8.hpp src/CompactCFrame.hpp src/Cone.hpp src/constants.hpp src/ConvexPolyhedron.hpp src/CoordinateFrame.cpp src/CoordinateFrame.hpp src/Crypto.cpp src/Crypto.hpp src/Cylinder.cpp src/Cylinder.hpp src/G3DDebug.hpp src/debugAssert.cpp src/debugAssert.hpp src/debugPrintf.hpp src/Draw.cpp src/Draw.hpp src/DrawAdorn.cpp src/DrawAdorn.hpp src/DrawPrimitives.hpp src/enumclass.hpp src/EqualsTrait.hpp src/fileutils.cpp src/fileutils.hpp src/format.cpp src/format.hpp src/Frustum.cpp src/Frustum.hpp src/g3derror.hpp src/g3dfnmatch.cpp src/g3dfnmatch.hpp src/G3DGameUnits.hpp src/g3dmath.cpp src/g3dmath.hpp src/GCamera.cpp src/GCamera.hpp src/GImage_bayer.cpp src/GImage_bmp.cpp src/GImage_jpeg.cpp src/GImage_jxl.cpp src/GImage_png.cpp src/GImage_tga.cpp src/GImage.cpp src/GImage.hpp src/GLight.cpp src/GLight.hpp src/HandleType.hpp src/HashTrait.hpp src/HitTest.cpp src/HitTest.hpp src/Image1.hpp src/LightingParameters.cpp src/LightingParameters.hpp src/Line.cpp src/Line.hpp src/LineSegment.cpp src/LineSegment.hpp src/Map2D.hpp src/Matrix2.hpp src/Matrix3.cpp src/Matrix3.hpp src/Matrix4.cpp src/Matrix4.hpp src/MemoryManager.cpp src/MemoryManager.hpp src/MeshAlg.hpp src/MeshBuilder.hpp src/ParseError.hpp src/PhysicsFrame.cpp src/PhysicsFrame.hpp src/Plane.cpp src/Plane.hpp src/platform.hpp src/PositionTrait.hpp src/Quat.cpp src/Quat.hpp src/Random.cpp src/Random.hpp src/Ray.cpp src/Ray.hpp src/RbxCamera.cpp src/RbxCamera.hpp src/RbxRay.cpp src/RbxRay.hpp src/RbxTime.hpp src/Rect2D.hpp src/Set.hpp src/SmallArray.hpp src/Sphere.cpp src/Sphere.hpp src/spline.hpp src/stringutils.cpp src/stringutils.hpp src/System.cpp src/System.hpp src/Table.hpp src/Triangle.cpp src/Triangle.hpp src/uint128.cpp src/uint128.hpp src/units.hpp src/UprightFrame.cpp src/UprightFrame.hpp src/Vector2.cpp src/Vector2.hpp src/Vector2int16.cpp src/Vector2int16.hpp src/Vector3.cpp src/Vector3.hpp src/Vector3int16.cpp src/Vector3int16.hpp src/Vector3int32.hpp src/Vector4.cpp src/Vector4.hpp src/Vector4int8.hpp src/vectorMath.hpp src/WrapMode.hpp ) target_sources(3D PRIVATE ${SOURCES}) target_include_directories(3D PUBLIC src PRIVATE ${THIRD_PARTY_DIR}/BulletPhysics/src ${ENGINE_DIR}/app/src ${ENGINE_DIR}/core/src ${ENGINE_DIR}/gfx/src ) target_link_libraries(3D $)