#
# Copyright (c) 2021 INRIA
#

macro(ADD_CASADI_UNIT_TEST name)
    add_pinocchio_unit_test(${name} PACKAGES casadi::casadi)
    get_cpp_test_name(${name} ${CMAKE_CURRENT_SOURCE_DIR} TEST_NAME)
    set_tests_properties(${TEST_NAME} PROPERTIES TIMEOUT 3000)
    add_dependencies(${PROJECT_NAME}-test-casadi ${TEST_NAME})
endmacro()

if(BUILD_WITH_CASADI_SUPPORT AND NOT BUILD_STANDALONE_PYTHON_INTERFACE)
    add_custom_target(${PROJECT_NAME}-test-casadi)
    set_target_properties(
        ${PROJECT_NAME}-test-casadi
        PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD True
    )

    add_casadi_unit_test(basic)
    add_casadi_unit_test(spatial)
    add_casadi_unit_test(explog)
    add_casadi_unit_test(joints)
    add_casadi_unit_test(algorithms)
    if(BUILD_ADVANCED_TESTING)
        add_casadi_unit_test(aba)
        add_casadi_unit_test(constraint-dynamics-derivatives)
        add_casadi_unit_test(constraint-dynamics)
        add_casadi_unit_test(aba-derivatives)
    endif()
    add_casadi_unit_test(integrate-derivatives)
    add_casadi_unit_test(rnea-derivatives)
endif()
