set(EMWIN_DEMO_DIR ${CMAKE_CURRENT_LIST_DIR})
set(EMWIN_DIR      ${BSP_DIR}/ThirdParty/emWin_light)

# ============================================================
# emWin pre-built library (imported)
# ============================================================
add_library(emwin_lib STATIC IMPORTED)
if(C_COMPILER_ID STREQUAL ARMCLANG)
    set_target_properties(emwin_lib PROPERTIES
        IMPORTED_LOCATION ${EMWIN_DIR}/Lib/NUemWin_CM33_Keil.lib
    )
elseif(C_COMPILER_ID STREQUAL GCC)
    set_target_properties(emwin_lib PROPERTIES
        IMPORTED_LOCATION ${EMWIN_DIR}/Lib/libNUemWin_CM33_GNU.a
    )
endif()
target_include_directories(emwin_lib INTERFACE
    ${EMWIN_DIR}/Include
    ${EMWIN_DIR}/Config
)

# ============================================================
# emWin_GIFDecoder executable
# ============================================================
create_project(emWin_GIFDecoder
    ${EMWIN_DEMO_DIR}/main.c
    ${EMWIN_DEMO_DIR}/Application/DecodeGIF.c
    ${EMWIN_DEMO_DIR}/Application/lcd/ILI9341.c
    ${EMWIN_DIR}/Config/GUIConf2.c
    ${EMWIN_DIR}/Config/GUI_X.c
    ${EMWIN_DIR}/Config/LCDConf2.c
)
target_link_libraries(emWin_GIFDecoder emwin_lib)
target_compile_definitions(emWin_GIFDecoder PRIVATE
    __DEMO_320x240__
)
target_include_directories(emWin_GIFDecoder PRIVATE
    ${EMWIN_DEMO_DIR}/Application
    ${EMWIN_DEMO_DIR}/Application/lcd
    ${EMWIN_DIR}/Include
    ${EMWIN_DIR}/Config
)
