set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_CXX_STANDARD "11") add_definitions(-DBOOST_NO_CXX11_RVALUE_REFERENCES) include(MacroLinkQtComponents) include(QbtTargetSources) find_package(LibtorrentRasterbar REQUIRED) # Qt if (QT5) add_definitions(-DQBT_USES_QT5) list(APPEND QBT_QT_COMPONENTS Core Network Xml) if (GUI) list (APPEND QBT_QT_COMPONENTS Concurrent Gui Widgets) endif (GUI) if (DBUS) list (APPEND QBT_QT_COMPONENTS DBus) endif (DBUS) find_package(Qt5 5.2.0 COMPONENTS ${QBT_QT_COMPONENTS} REQUIRED) else (QT5) list(APPEND QBT_QT_COMPONENTS QtCore QtNetwork QtXml) if (GUI) list (APPEND QBT_QT_COMPONENTS QtGui) endif (GUI) if (DBUS) list (APPEND QBT_QT_COMPONENTS QtDBus) endif (DBUS) find_package(Qt4 4.8.0 COMPONENTS ${QBT_QT_COMPONENTS} REQUIRED) include(${QT_USE_FILE}) endif (QT5) 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) # Fast concatenation (Qt >= 4.6) add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) if (WIN32) add_definitions(-DNOMINMAX) endif (WIN32) 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_WIN) add_definitions(-DSTACKTRACE_WIN) endif(STACKTRACE_WIN) # 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}) set(QBT_USES_QT5 ${QT5}) configure_file(config.h.cmakein ${CMAKE_CURRENT_BINARY_DIR}/config.h) if (GUI) set(QBT_TARGET_NAME qbittorrent) else (GUI) set(QBT_TARGET_NAME qbittorrent-nox) endif (GUI) 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)