cmake_minimum_required(VERSION 3.10)
project(LeafWeb C)

set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)

find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK REQUIRED gtk+-3.0)
pkg_check_modules(WEBKIT REQUIRED webkit2gtk-4.1)
pkg_check_modules(SQLITE3 REQUIRED sqlite3)
pkg_check_modules(CURL REQUIRED libcurl)
pkg_check_modules(JSON_GLIB REQUIRED json-glib-1.0)

find_package(Threads REQUIRED)

include_directories(${GTK_INCLUDE_DIRS} ${WEBKIT_INCLUDE_DIRS} ${SQLITE3_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS} ${JSON_GLIB_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/src)
link_directories(${GTK_LIBRARY_DIRS} ${WEBKIT_LIBRARY_DIRS} ${SQLITE3_LIBRARY_DIRS} ${CURL_LIBRARY_DIRS} ${JSON_GLIB_LIBRARY_DIRS})

add_definitions(${GTK_CFLAGS_OTHER} ${WEBKIT_CFLAGS_OTHER} ${SQLITE3_CFLAGS_OTHER} ${CURL_CFLAGS_OTHER} ${JSON_GLIB_CFLAGS_OTHER})

set(SOURCES
    src/core/main.c
    src/core/profile.c
    src/ui/window.c
    src/ui/headerbar.c
    src/ui/toolbar.c
    src/ui/newtab.c
    src/ui/tabs.c
    src/ui/menu.c
    src/ui/theme.c
    src/web/webview.c
    src/web/navigation.c
    src/db/database.c
    src/downloads/download_manager.c
    src/downloads/download_window.c
    src/extensions/extensions.c
    src/extensions/darkreader/darkreader.c
    src/extensions/adblock/adblock.c
    src/extensions/adblock/yt_adblock.c
    src/extensions/sponsorblock/sponsorblock.c
    src/settings/settings.c
    src/settings/settings_window.c
    src/settings/flags.c
)

add_executable(LeafWeb ${SOURCES})
target_link_libraries(LeafWeb ${GTK_LIBRARIES} ${WEBKIT_LIBRARIES} ${SQLITE3_LIBRARIES} ${CURL_LIBRARIES} ${JSON_GLIB_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})

# Install resources
install(DIRECTORY resources/themes DESTINATION share/leafweb/resources)
