C

Qt Quick Ultralite tvii_effects Example

set(QUL_TVIIC_PLATFORM OFF)
if("${QUL_PLATFORM}" MATCHES "tviic.*")
    set(QUL_TVIIC_PLATFORM ON)
endif()

if (NOT TARGET Qul::Core)
    find_package(Qul)
endif()

if(QUL_TVIIC_PLATFORM)
    list(APPEND CMAKE_MODULE_PATH ${QUL_PLATFORM_TARGET_DIR}/../common/cmake/modules)
    # Old path needed for platform compatibility checks after UL-5159 (renamed folder from tvii-shared to common)
    list(APPEND CMAKE_MODULE_PATH ${QUL_PLATFORM_TARGET_DIR}/../tvii-shared/cmake/modules)
    find_package(TVII-SDK REQUIRED COMPONENTS basic_graphics util freetype)

    message(STATUS "TVII include dirs = ${TVII_SDK_INCLUDE_DIRS}")
else()
    message(STATUS "NOT CROSS COMPILING")

    find_package(Qt6 6.2 COMPONENTS Core Gui Widgets REQUIRED)

    if(CMAKE_HOST_WIN32)
      set(QUL_INSTALLED_QT_PACKAGE Qt6Bundle)
    else()
      set(QUL_INSTALLED_QT_PACKAGE Qt6)
    endif()

endif()

qul_limit_string(effects_module "Lib_tvii_effects_tvii_effects_module")
target_sources(${effects_module}
    PRIVATE
    desaturation.cpp
    gaussianblur.cpp
    imagewithopacitymask.cpp
    needletrail.cpp
)

if(QUL_TVIIC_PLATFORM)
    target_include_directories(${effects_module}
        PUBLIC ${TVII_SDK_INCLUDE_DIRS}
    )

    target_compile_definitions(${effects_module}
        PUBLIC QUL_TVIIC_PLATFORM
    )
    target_sources(${effects_module}
        PRIVATE cygfx.cpp
    )
else()
    target_link_libraries(${effects_module}
        PRIVATE Qt6::Gui Qt6::Widgets
    )
endif()