set(LINBAT_JAVA_SOURCE_DIR
    "${PROJECT_SOURCE_DIR}/ui/src"
)

set(LINBAT_JAVA_OUTPUT_DIR
    "${PROJECT_BINARY_DIR}/classes"
)

file(GLOB JAVA_SOURCES CONFIGURE_DEPENDS
    "${LINBAT_JAVA_SOURCE_DIR}/*.java"
)

if(NOT JAVA_SOURCES)
    message(FATAL_ERROR "No se encontraron archivos Java en ui/src")
endif()

add_custom_target(linbat
    COMMAND "${CMAKE_COMMAND}" -E make_directory
        "${LINBAT_JAVA_OUTPUT_DIR}"

    COMMAND "${Java_JAVAC_EXECUTABLE}"
        -encoding UTF-8
        -d "${LINBAT_JAVA_OUTPUT_DIR}"
        ${JAVA_SOURCES}

    COMMAND "${Java_JAVA_EXECUTABLE}"
        -cp "${LINBAT_JAVA_OUTPUT_DIR}"
        Main

    WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
    SOURCES ${JAVA_SOURCES}
    VERBATIM
)
