cmake_minimum_required(VERSION 3.21)
project(browser)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTORCC ON)

find_package(Qt6 REQUIRED COMPONENTS Widgets WebEngineWidgets Sql WebChannel)
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBSODIUM REQUIRED libsodium)

qt_standard_project_setup()

qt_add_executable(browser
    main.cpp
    ThemeConfig.h
    BrowserView.h BrowserView.cpp
    BrowserTab.h BrowserTab.cpp
    MainWindow.h MainWindow.cpp
    DatabaseManager.h DatabaseManager.cpp
    VaultManager.h VaultManager.cpp
    MasterPasswordDialog.h MasterPasswordDialog.cpp
    PasswordHelper.h PasswordHelper.cpp
    DownloadWidget.h DownloadWidget.cpp
    DownloadBar.h DownloadBar.cpp
    browser.qrc
)

target_link_libraries(browser PRIVATE
    Qt6::Widgets
    Qt6::WebEngineWidgets
    Qt6::Sql
    Qt6::WebChannel
    ${LIBSODIUM_LIBRARIES}
)
target_include_directories(browser PRIVATE ${LIBSODIUM_INCLUDE_DIRS})
