add_unittest(AlgebraHelpersTests AlgebraHelpersTests.cpp)
add_unittest(AnnealingUtility AnnealingUtilityTests.cpp)
add_unittest(Axes AxesTests.cpp)
add_unittest(BFieldMapUtils BFieldMapUtilsTests.cpp)
add_unittest(BinAdjustment BinAdjustmentTests.cpp)
add_unittest(BinAdjustmentVolume BinAdjustmentVolumeTests.cpp)
add_unittest(BinningData BinningDataTests.cpp)
add_unittest(BinUtility BinUtilityTests.cpp)

add_unittest(BoundingBox BoundingBoxTest.cpp)
target_link_libraries(ActsUnitTestBoundingBox PRIVATE std::filesystem)

add_unittest(DBScan DBScanTests.cpp)
add_unittest(Extendable ExtendableTests.cpp)
add_unittest(FiniteStateMachine FiniteStateMachineTests.cpp)
add_unittest(Frustum FrustumTest.cpp)
add_unittest(Grid GridTests.cpp)
add_unittest(GridAccessHelpers GridAccessHelpersTests.cpp)
add_unittest(GridAxisGenerators GridAxisGeneratorsTests.cpp)
add_unittest(GridBinFinder GridBinFinderTests.cpp)
add_unittest(GridIteration GridIterationTests.cpp)
add_unittest(Helpers HelpersTests.cpp)
add_unittest(Interpolation InterpolationTests.cpp)
add_unittest(Intersection IntersectionTests.cpp)
add_unittest(KDTree KDTreeTests.cpp)
add_unittest(Logger LoggerTests.cpp)
add_unittest(MaterialMapUtils MaterialMapUtilsTests.cpp)
add_unittest(MultiIndex MultiIndexTests.cpp)
add_unittest(Periodic PeriodicTests.cpp)
add_unittest(ProtoAxis ProtoAxisTests.cpp)
add_unittest(Range1D Range1DTests.cpp)
add_unittest(RangeXD RangeXDTests.cpp)
add_unittest(Ray RayTest.cpp)
add_unittest(RealQuadraticEquation RealQuadraticEquationTests.cpp)
add_unittest(Result ResultTests.cpp)
add_unittest(TypeList TypeListTests.cpp)
add_unittest(UnitVectors UnitVectorsTests.cpp)
add_unittest(Delegate DelegateTests.cpp)
add_unittest(DelegateChainBuilder DelegateChainBuilderTests.cpp)
add_unittest(HashedString HashedStringTests.cpp)
if(ACTS_BUILD_CUDA_FEATURES)
    add_unittest(Cuda CudaTests.cu)
    add_unittest(CudaMostSimplified CudaMostSimplifiedTests.cu)
endif()

add_unittest(Any AnyTests.cpp)
add_unittest(AnyDebug AnyTests.cpp)
target_compile_definitions(
    ActsUnitTestAnyDebug
    PRIVATE
        _ACTS_ANY_ENABLE_VERBOSE
        _ACTS_ANY_ENABLE_DEBUG
        _ACTS_ANY_ENABLE_TRACK_ALLOCATIONS
)

add_unittest(ParticleData ParticleDataTests.cpp)
add_unittest(Zip ZipTests.cpp)
add_unittest(TransformRange TransformRangeTests.cpp)
add_unittest(MathHelpers MathHelpersTests.cpp)
add_unittest(AngleHelpers AngleHelpersTests.cpp)
add_unittest(VectorHelpers VectorHelpersTests.cpp)

add_unittest(TrackHelpers TrackHelpersTests.cpp)
add_unittest(GraphViz GraphVizTests.cpp)
add_unittest(ContextType ContextTypeTests.cpp)
add_unittest(AnyGridView AnyGridViewTests.cpp)
