add_subdirectory ($ENV{OPEN_SPIEL_PATH}/open_spiel $ENV{OPEN_SPIEL_PATH}/open_spiel/build)

add_library (algs OBJECT
        info_state_values.cpp
        current_policy.cpp
        average_policy.cpp
        full/regret_minimization_algorithm.cpp
        full/cfr.cpp
        full/pcfr.cpp
        full/dcfr.cpp
        full/pcfr.cpp
)

set (OPEN_SPIEL_OBJECTS
        $<TARGET_OBJECTS:open_spiel_core>
        $<TARGET_OBJECTS:bots>
        $<TARGET_OBJECTS:games>
        $<TARGET_OBJECTS:game_transforms>
        $<TARGET_OBJECTS:bridge_double_dummy_solver>
        $<TARGET_OBJECTS:algorithms>
        $<TARGET_OBJECTS:utils>
        $<TARGET_OBJECTS:tests>
        )

target_include_directories (algs PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories (algs PUBLIC $ENV{OPEN_SPIEL_PATH} $ENV{OPEN_SPIEL_PATH}/open_spiel/abseil-cpp)
target_link_libraries(algs
        ${OPEN_SPIEL_OBJECTS}
        absl::algorithm
        absl::flags
        absl::flags_parse
        absl::flat_hash_map
        absl::optional
        absl::random_random
        absl::str_format
        absl::strings
        absl::time
        )
