diff options
author | Kevin Funk <kevin.funk@kdab.com> | 2019-06-04 17:08:47 +0200 |
---|---|---|
committer | Kevin Funk <kevin.funk@kdab.com> | 2019-06-05 12:53:28 +0000 |
commit | 99539a289491a2a709c2a63cd91eac155a1699da (patch) | |
tree | d928d6c6e123c6588261bea9358354fe1e1a7400 /examples/network/torrent/CMakeLists.txt | |
parent | ace549587073d387823815b02ec85a28da408844 (diff) |
Allow to build examples as standalone project
Create CMake config files which can be used from the very same CMake
project. These CMake config files simply do not create any targets,
controlled via the QT_NO_CREATE_TARGETS.
This patch also allows to build qtbase.git:examples as a standalone
project, against an already-built Qt.
Ran this:
ag -s "QT " examples -l -0 | xargs -0 -n 1 .../util/cmake/pro2cmake.py --is-example
Task-number: QTBUG-74713
Change-Id: I44cce5a4048618b30f890c5b789592c227a8b47d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'examples/network/torrent/CMakeLists.txt')
-rw-r--r-- | examples/network/torrent/CMakeLists.txt | 76 |
1 files changed, 37 insertions, 39 deletions
diff --git a/examples/network/torrent/CMakeLists.txt b/examples/network/torrent/CMakeLists.txt index 448335e7aa..2a49e3800b 100644 --- a/examples/network/torrent/CMakeLists.txt +++ b/examples/network/torrent/CMakeLists.txt @@ -1,44 +1,42 @@ # Generated from torrent.pro. -##################################################################### -## torrent Binary: -##################################################################### +cmake_minimum_required(VERSION 3.14) +project(torrent LANGUAGES CXX) -add_qt_executable(torrent - GUI - OUTPUT_DIRECTORY "${INSTALL_EXAMPLESDIR}/network/torrent" - INSTALL_DIRECTORY "${INSTALL_EXAMPLESDIR}/network/torrent" - SOURCES - addtorrentdialog.cpp addtorrentdialog.h - bencodeparser.cpp bencodeparser.h - connectionmanager.cpp connectionmanager.h - filemanager.cpp filemanager.h - forms/addtorrentform.ui - main.cpp - mainwindow.cpp mainwindow.h - metainfo.cpp metainfo.h - peerwireclient.cpp peerwireclient.h - ratecontroller.cpp ratecontroller.h - torrentclient.cpp torrentclient.h - torrentserver.cpp torrentserver.h - trackerclient.cpp trackerclient.h - INCLUDE_DIRECTORIES # special case - forms # special case - PUBLIC_LIBRARIES - Qt::Network - Qt::Widgets - ENABLE_AUTOGEN_TOOLS - uic -) +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) -# Resources: -add_qt_resource(torrent "icons" PREFIX "/" FILES - icons/1downarrow.png - icons/1uparrow.png - icons/bottom.png - icons/exit.png - icons/peertopeer.png - icons/player_pause.png - icons/player_play.png - icons/player_stop.png) +set(INSTALL_EXAMPLEDIR "examples") +find_package(Qt5 COMPONENTS Network) +find_package(Qt5 COMPONENTS Widgets) + +add_executable(torrent WIN32 MACOSX_BUNDLE + addtorrentdialog.cpp addtorrentdialog.h + bencodeparser.cpp bencodeparser.h + connectionmanager.cpp connectionmanager.h + filemanager.cpp filemanager.h + forms/addtorrentform.ui + icons.qrc + main.cpp + mainwindow.cpp mainwindow.h + metainfo.cpp metainfo.h + peerwireclient.cpp peerwireclient.h + ratecontroller.cpp ratecontroller.h + torrentclient.cpp torrentclient.h + torrentserver.cpp torrentserver.h + trackerclient.cpp trackerclient.h +) +target_include_directories(torrent PUBLIC forms) # special case +target_link_libraries(torrent PUBLIC + Qt::Network + Qt::Widgets +) + +install(TARGETS torrent + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" +) |