add_library(juiceboy STATIC)

target_sources(juiceboy
    PRIVATE
    "src/instructions.cpp"
    "src/memory.cpp"
    "src/processor.cpp"
    "src/registers.cpp"
    PUBLIC
    FILE_SET HEADERS
    BASE_DIRS "include"
    FILES
    "include/juiceboy/cartridge.hpp"
    "include/juiceboy/cartridges/rom_cartridge.hpp"
    "include/juiceboy/instructions.hpp"
    "include/juiceboy/juiceboy.hpp"
    "include/juiceboy/memory.hpp"
    "include/juiceboy/memory_region.hpp"
    "include/juiceboy/processor.hpp"
    "include/juiceboy/registers.hpp"
)

if (BUILD_TESTING)
    add_subdirectory(test)
endif ()