Some work about adaptive color scheme for Web UI (PR #19901)
http://[316:c51a:62a3:8b9::4]/d4708/qBittorrent/src/branch/adaptive-webui
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
3.5 KiB
83 lines
3.5 KiB
macro(find_libtorrent version) |
|
if (UNIX AND (NOT APPLE) AND (NOT CYGWIN)) |
|
find_package(LibtorrentRasterbar QUIET ${version} COMPONENTS torrent-rasterbar) |
|
if (NOT LibtorrentRasterbar_FOUND) |
|
include(FindPkgConfig) |
|
pkg_check_modules(LibtorrentRasterbar IMPORTED_TARGET GLOBAL "libtorrent-rasterbar>=${version}") |
|
if (NOT LibtorrentRasterbar_FOUND) |
|
message( |
|
FATAL_ERROR |
|
"Package LibtorrentRasterbar >= ${version} not found" |
|
" with CMake or pkg-config.\n- Set LibtorrentRasterbar_DIR to a directory containing" |
|
" a LibtorrentRasterbarConfig.cmake file or add the installation prefix of LibtorrentRasterbar" |
|
" to CMAKE_PREFIX_PATH.\n- Alternatively, make sure there is a valid libtorrent-rasterbar.pc" |
|
" file in your system's pkg-config search paths (use the system environment variable PKG_CONFIG_PATH" |
|
" to specify additional search paths if needed)." |
|
) |
|
endif() |
|
add_library(LibtorrentRasterbar::torrent-rasterbar ALIAS PkgConfig::LibtorrentRasterbar) |
|
# force a fake package to show up in the feature summary |
|
set_property(GLOBAL APPEND PROPERTY |
|
PACKAGES_FOUND |
|
"LibtorrentRasterbar via pkg-config (version >= ${version})" |
|
) |
|
set_package_properties("LibtorrentRasterbar via pkg-config (version >= ${version})" |
|
PROPERTIES |
|
TYPE REQUIRED |
|
) |
|
else() |
|
set_package_properties(LibtorrentRasterbar PROPERTIES TYPE REQUIRED) |
|
endif() |
|
else() |
|
find_package(LibtorrentRasterbar ${version} REQUIRED COMPONENTS torrent-rasterbar) |
|
endif() |
|
endmacro() |
|
|
|
find_libtorrent(${minLibtorrent1Version}) |
|
if (LibtorrentRasterbar_FOUND AND (LibtorrentRasterbar_VERSION VERSION_GREATER_EQUAL 2.0)) |
|
find_libtorrent(${minLibtorrentVersion}) |
|
target_compile_definitions(qbt_common_cfg PUBLIC QBT_USES_LIBTORRENT2) |
|
endif() |
|
|
|
# force variable type so that it always shows up in ccmake/cmake-gui frontends |
|
set_property(CACHE LibtorrentRasterbar_DIR PROPERTY TYPE PATH) |
|
find_package(Boost ${minBoostVersion} REQUIRED) |
|
find_package(OpenSSL ${minOpenSSLVersion} REQUIRED) |
|
find_package(ZLIB ${minZlibVersion} REQUIRED) |
|
find_package(Qt5 ${minQtVersion} REQUIRED COMPONENTS Core Network Sql Xml LinguistTools) |
|
if (DBUS) |
|
find_package(Qt5 ${minQtVersion} REQUIRED COMPONENTS DBus) |
|
set_package_properties(Qt5DBus PROPERTIES |
|
DESCRIPTION "Qt5 module for inter-process communication over the D-Bus protocol" |
|
PURPOSE "Required by the DBUS feature" |
|
) |
|
endif() |
|
|
|
# automatically call Qt moc, rcc and uic as needed for all targets by default |
|
set(CMAKE_AUTORCC_OPTIONS --compress 9 --threshold 5) |
|
set(CMAKE_AUTOMOC ON) |
|
set(CMAKE_AUTORCC ON) |
|
set(CMAKE_AUTOUIC ON) |
|
|
|
# create interface-only target libraries with common compile options/definitions to link to |
|
include(MacroQbtCommonConfig) |
|
qbt_common_config() |
|
|
|
# include directories - ideally, would be done per target instead of global directory scope |
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}) |
|
|
|
add_subdirectory(base) |
|
|
|
if (GUI) |
|
find_package(Qt5 ${minQtVersion} REQUIRED COMPONENTS Widgets Svg) |
|
if (CMAKE_SYSTEM_NAME STREQUAL "Windows") |
|
find_package(Qt5 ${minQtVersion} REQUIRED COMPONENTS WinExtras) |
|
endif() |
|
add_subdirectory(gui) |
|
endif() |
|
|
|
if (WEBUI) |
|
add_subdirectory(webui) |
|
endif() |
|
|
|
add_subdirectory(app)
|
|
|