add_executable(gencoords gencoords.c)
add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/../include/coords.h COMMAND gencoords > ${CMAKE_CURRENT_SOURCE_DIR}/../include/coords.h)

add_executable(genlut genlut.c ${CMAKE_CURRENT_SOURCE_DIR}/../include/coords.h)
add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/../include/lut.h COMMAND genlut > ${CMAKE_CURRENT_SOURCE_DIR}/../include/lut.h)

add_executable(genzobrist genzobrist.c)
add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/../include/zobrist.h COMMAND genzobrist > ${CMAKE_CURRENT_SOURCE_DIR}/../include/zobrist.h)

add_library(enginecore STATIC board.c fen.c algebraic.c movegen.c check.c move.c eval.c search.c hashtable.c ${CMAKE_CURRENT_SOURCE_DIR}/../include/coords.h ${CMAKE_CURRENT_SOURCE_DIR}/../include/lut.h ${CMAKE_CURRENT_SOURCE_DIR}/../include/zobrist.h)

add_executable(gumble gumble.c)
target_link_libraries(gumble enginecore pthread)
target_compile_definitions(gumble PRIVATE _POSIX_C_SOURCE=200809)
