From 0c51a8756377c40180619046d07b35718fcf1784 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Mon, 15 Feb 2021 12:25:23 +0100 Subject: [PATCH] Fix CMake build of network/torrent example The ui_XXX.h include did not match the location of the XXX.ui file, and AUTOUIC failed with "SRC:/addtorrentdialog.h" includes the uic file "ui_addtorrentform.h", but the user interface file "addtorrentform.ui" could not be found in the following directories "SRC:" While this could be fixed by adjusting the include paths properly, this would complicate the CMake project file, and we're dealing with an example where needless complexity would cloud comprehensibility. Move the .ui file next to corresponding source files instead. This removes the need for any special cases in CMakeLists.txt, and we can remove .prev_CMakeLists.txt. Fixes: QTBUG-87457 Pick-to: 6.1 Change-Id: Ic2dec5ded7100e22d5afc571efc4b009bc62e41c Reviewed-by: Kai Koehne --- examples/network/CMakeLists.txt | 2 +- examples/network/torrent/.prev_CMakeLists.txt | 73 ------------------- examples/network/torrent/CMakeLists.txt | 3 +- .../torrent/{forms => }/addtorrentform.ui | 0 examples/network/torrent/torrent.pro | 2 +- 5 files changed, 3 insertions(+), 77 deletions(-) delete mode 100644 examples/network/torrent/.prev_CMakeLists.txt rename examples/network/torrent/{forms => }/addtorrentform.ui (100%) diff --git a/examples/network/CMakeLists.txt b/examples/network/CMakeLists.txt index b6ae618d1d9..c28c951b694 100644 --- a/examples/network/CMakeLists.txt +++ b/examples/network/CMakeLists.txt @@ -16,7 +16,7 @@ if(TARGET Qt::Widgets) add_subdirectory(loopback) add_subdirectory(threadedfortuneserver) add_subdirectory(googlesuggest) - # add_subdirectory(torrent) FIXME: This does not find its ui file:-/ # special case + add_subdirectory(torrent) add_subdirectory(multicastreceiver) add_subdirectory(multicastsender) add_subdirectory(fortuneclient) diff --git a/examples/network/torrent/.prev_CMakeLists.txt b/examples/network/torrent/.prev_CMakeLists.txt deleted file mode 100644 index bc3bf6a4654..00000000000 --- a/examples/network/torrent/.prev_CMakeLists.txt +++ /dev/null @@ -1,73 +0,0 @@ -# Generated from torrent.pro. - -cmake_minimum_required(VERSION 3.14) -project(torrent LANGUAGES CXX) - -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) - -if(NOT DEFINED INSTALL_EXAMPLESDIR) - set(INSTALL_EXAMPLESDIR "examples") -endif() - -set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/network/torrent") - -find_package(Qt6 COMPONENTS Core) -find_package(Qt6 COMPONENTS Gui) -find_package(Qt6 COMPONENTS Network) -find_package(Qt6 COMPONENTS Widgets) - -qt_add_executable(torrent - 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 -) -set_target_properties(torrent PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) -target_link_libraries(torrent PUBLIC - Qt::Core - Qt::Gui - Qt::Network - Qt::Widgets -) - - -# Resources: -set(icons_resource_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" -) - -qt6_add_resources(torrent "icons" - PREFIX - "/" - FILES - ${icons_resource_files} -) - -install(TARGETS torrent - RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" - BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" - LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" -) diff --git a/examples/network/torrent/CMakeLists.txt b/examples/network/torrent/CMakeLists.txt index 7eea3d02bc1..0d1f6735e35 100644 --- a/examples/network/torrent/CMakeLists.txt +++ b/examples/network/torrent/CMakeLists.txt @@ -22,10 +22,10 @@ find_package(Qt6 COMPONENTS Widgets) qt_add_executable(torrent addtorrentdialog.cpp addtorrentdialog.h + addtorrentform.ui 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 @@ -39,7 +39,6 @@ set_target_properties(torrent PROPERTIES WIN32_EXECUTABLE TRUE MACOSX_BUNDLE TRUE ) -target_include_directories(torrent PUBLIC forms) # special case target_link_libraries(torrent PUBLIC Qt::Core Qt::Gui diff --git a/examples/network/torrent/forms/addtorrentform.ui b/examples/network/torrent/addtorrentform.ui similarity index 100% rename from examples/network/torrent/forms/addtorrentform.ui rename to examples/network/torrent/addtorrentform.ui diff --git a/examples/network/torrent/torrent.pro b/examples/network/torrent/torrent.pro index c640c3b5d01..929c5cb784a 100644 --- a/examples/network/torrent/torrent.pro +++ b/examples/network/torrent/torrent.pro @@ -27,7 +27,7 @@ SOURCES += main.cpp \ trackerclient.cpp # Forms and resources -FORMS += forms/addtorrentform.ui +FORMS += addtorrentform.ui RESOURCES += icons.qrc # install