#
# Audacity: A Digital Audio Editor
#

declare_module(au3cloud)

set(MODULE_SRC
    ${CMAKE_CURRENT_LIST_DIR}/au3cloudmodule.cpp
    ${CMAKE_CURRENT_LIST_DIR}/au3cloudmodule.h
    ${CMAKE_CURRENT_LIST_DIR}/au3clouderrors.h
    ${CMAKE_CURRENT_LIST_DIR}/cloudtypes.h
    ${CMAKE_CURRENT_LIST_DIR}/iauthorization.h
    ${CMAKE_CURRENT_LIST_DIR}/iau3audiocomservice.h
    ${CMAKE_CURRENT_LIST_DIR}/iau3cloudconfiguration.h
    ${CMAKE_CURRENT_LIST_DIR}/icloudprojectsprovider.h

    ${CMAKE_CURRENT_LIST_DIR}/internal/au3audiocomservice.cpp
    ${CMAKE_CURRENT_LIST_DIR}/internal/au3audiocomservice.h
    ${CMAKE_CURRENT_LIST_DIR}/internal/au3cloudconfiguration.cpp
    ${CMAKE_CURRENT_LIST_DIR}/internal/au3cloudconfiguration.h
    ${CMAKE_CURRENT_LIST_DIR}/internal/au3cloudactionscontroller.cpp
    ${CMAKE_CURRENT_LIST_DIR}/internal/au3cloudactionscontroller.h
    ${CMAKE_CURRENT_LIST_DIR}/internal/clouduiactions.cpp
    ${CMAKE_CURRENT_LIST_DIR}/internal/clouduiactions.h
    ${CMAKE_CURRENT_LIST_DIR}/internal/au3cloudprojectfileioextension.cpp
    ${CMAKE_CURRENT_LIST_DIR}/internal/au3cloudprojectfileioextension.h
    ${CMAKE_CURRENT_LIST_DIR}/internal/au3cloudservice.cpp
    ${CMAKE_CURRENT_LIST_DIR}/internal/au3cloudservice.h
    ${CMAKE_CURRENT_LIST_DIR}/internal/cloudprojectsprovider.cpp
    ${CMAKE_CURRENT_LIST_DIR}/internal/cloudprojectsprovider.h
    ${CMAKE_CURRENT_LIST_DIR}/internal/oauthhttpserverreplyhandler.cpp
    ${CMAKE_CURRENT_LIST_DIR}/internal/oauthhttpserverreplyhandler.h
    ${CMAKE_CURRENT_LIST_DIR}/internal/au3audiocomtypeconv.cpp
    ${CMAKE_CURRENT_LIST_DIR}/internal/au3audiocomtypeconv.h
    ${CMAKE_CURRENT_LIST_DIR}/internal/downloadmanager.cpp
    ${CMAKE_CURRENT_LIST_DIR}/internal/downloadmanager.h

    ${CMAKE_CURRENT_LIST_DIR}/internal/cloudurlhandler.cpp
    ${CMAKE_CURRENT_LIST_DIR}/internal/cloudurlhandler.h
    ${CMAKE_CURRENT_LIST_DIR}/internal/customschemeregistrar.h

    ${CMAKE_CURRENT_LIST_DIR}/view/accountmodel.cpp
    ${CMAKE_CURRENT_LIST_DIR}/view/accountmodel.h
    )

if (OS_IS_WIN)
    list(APPEND MODULE_SRC ${CMAKE_CURRENT_LIST_DIR}/internal/platform/win/customschemeregistrar.cpp)
else()
    list(APPEND MODULE_SRC ${CMAKE_CURRENT_LIST_DIR}/internal/customschemeregistrar.cpp)
endif()

# AU3
include(${CMAKE_CURRENT_LIST_DIR}/../au3wrap/au3wrapDefs.cmake)

set(MODULE_INCLUDE ${AU3_INCLUDE})
set(MODULE_DEF ${AU3_DEF})
set(MODULE_LINK au3wrap Qt6::Network Qt6::NetworkAuth)

setup_module()
