set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_CXX_STANDARD "11") add_definitions(-DBOOST_NO_CXX11_RVALUE_REFERENCES) include(MacroQbtCompilerSettings) qbt_set_compiler_options() include(MacroLinkQtComponents) include(QbtTargetSources) find_package(LibtorrentRasterbar REQUIRED) # Qt list(APPEND QBT_QT_COMPONENTS Core Network Xml) if (GUI) list (APPEND QBT_QT_COMPONENTS Gui Svg Widgets) if (WIN32) list (APPEND QBT_QT_COMPONENTS WinExtras) endif(WIN32) if (APPLE) list (APPEND QBT_GUI_OPTIONAL_LINK_LIBRARIES objc) list (APPEND QBT_QT_COMPONENTS MacExtras) endif (APPLE) endif (GUI) if (DBUS) list (APPEND QBT_QT_COMPONENTS DBus) endif (DBUS) find_package(Qt5 5.5.1 COMPONENTS ${QBT_QT_COMPONENTS} REQUIRED) if (GUI AND APPLE) # Fix MOC inability to detect macOS. This seems to only affect cmake. # Relevant issue: https://bugreports.qt.io/browse/QTBUG-58325 set(CMAKE_AUTOMOC_MOC_OPTIONS ${CMAKE_AUTOMOC_MOC_OPTIONS} -DQ_OS_MAC) endif () set(CMAKE_AUTOMOC True) list(APPEND CMAKE_AUTORCC_OPTIONS -compress 9 -threshold 5) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) # defines add_definitions(-DQT_NO_CAST_TO_ASCII) # Efficient construction for QString & QByteArray (Qt >= 4.8) add_definitions(-DQT_USE_QSTRINGBUILDER) if (NOT GUI) add_definitions(-DDISABLE_GUI -DDISABLE_COUNTRIES_RESOLUTION) endif (NOT GUI) if (NOT WEBUI) add_definitions(-DDISABLE_WEBUI) endif (NOT WEBUI) if (STACKTRACE) add_definitions(-DSTACKTRACE) endif(STACKTRACE) # nogui { # TARGET = qbittorrent-nox # } else { # CONFIG(static) { # DEFINES += QBT_STATIC_QT # QTPLUGIN += qico # } # TARGET = qbittorrent # } if (UNIX AND NOT APPLE) add_compile_options(-Wformat -Wformat-security) endif () if (CMAKE_BUILD_TYPE STREQUAL "Debug") message(STATUS "Project is built in DEBUG mode.") else (CMAKE_BUILD_TYPE STREQUAL "Debug") message(STATUS "Project is built in RELEASE mode.") message(STATUS "Disabling debug output.") add_definitions(-DQT_NO_DEBUG_OUTPUT) endif (CMAKE_BUILD_TYPE STREQUAL "Debug") set(QBT_USE_GUI ${GUI}) set(QBT_USE_WEBUI ${WEBUI}) configure_file(config.h.cmakein ${CMAKE_CURRENT_BINARY_DIR}/config.h) if (SYSTEM_QTSINGLEAPPLICATION) find_package(QtSingleApplication REQUIRED) else (SYSTEM_QTSINGLEAPPLICATION) add_subdirectory(app/qtsingleapplication) endif (SYSTEM_QTSINGLEAPPLICATION) add_subdirectory(app) add_subdirectory(base) if (GUI) add_subdirectory(gui) endif (GUI) if (WEBUI) add_subdirectory(webui) endif (WEBUI)