cmake_minimum_required(VERSION 3.21) project(att VERSION 0.1.0 DESCRIPTION "Minimal keyboard-driven QtWebEngine browser" LANGUAGES CXX ) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_AUTOMOC ON) include(GNUInstallDirs) find_package(Qt6 6.5 REQUIRED COMPONENTS Core Gui Widgets Network Concurrent Sql WebEngineCore WebEngineWidgets) find_package(Corrosion REQUIRED) qt_standard_project_setup() # Brave's adblock-rust behind a small C API. Always built in release: a debug # build of the engine is far too slow to compile EasyList or check requests. corrosion_import_crate( MANIFEST_PATH adblock/Cargo.toml CRATES att_adblock CRATE_TYPES staticlib PROFILE release ) qt_add_executable(att src/adblock.cpp src/adblock.h src/main.cpp src/browserwindow.cpp src/browserwindow.h src/commandline.cpp src/commandline.h src/completionview.cpp src/completionview.h src/gpuworkaround.cpp src/gpuworkaround.h src/greasemonkey.cpp src/greasemonkey.h src/hints.cpp src/hints.h src/history.cpp src/history.h src/statusbar.cpp src/statusbar.h src/urlutil.cpp src/urlutil.h ) target_include_directories(att PRIVATE src adblock) target_link_libraries(att PRIVATE att_adblock Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Network Qt6::Concurrent Qt6::Sql Qt6::WebEngineCore Qt6::WebEngineWidgets ) install(TARGETS att RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )