Skip to content
Jean-Christophe Fillion-Robin edited this page Jul 27, 2023 · 1 revision

This page documents various maintenance tasks related to the Common Toolkit (CTK).

Updates of Required Qt Components

The ctkMacroSetupQt CMake module is responsible for setting the variable CTK_QT5_COMPONENTS, which lists the Qt components required by CTK. This list is dynamically updated based on the enabled build options.

To extract the list of Qt components for each CTK source directory, you can use the following method:

  1. First, ensure you have a checkout of CTK sources, the FindQtModules.py Python script and the required Qt include directory available on your system.

  2. Next, use the following Bash script:

CTK_SOURCE_DIR=/path/to/CTK
QT_INCLUDE_DIR=/path/to/Qt/include
find_qt_modules_script=/path/to/FindQtModules.py

cd $CTK_SOURCE_DIR

for ctk_dir in $(fd . -t d | sort)
do
    if [[ $(fd . "$ctk_dir"  --type f -d 1 -e h -e cpp -e cpp.in -e h.in) != "" ]]; then
        echo -e; echo "[$ctk_dir]";
        python3.9 $find_qt_modules_script $QT_INCLUDE_DIR $(fd . "$ctk_dir"  --type f -d 1 -e h -e cpp -e cpp.in -e h.in) | sort;
    fi
done

The above script will list the required Qt components for each CTK source directory that contains relevant files (header and source files).

Please make sure to replace /path/to/CTK, /path/to/Qt/include and /path/to/FindQtModules.py with the actual paths to your CTK sources directory, your Qt include directory and the FindQtModules.py script, respectively.

Output (based of CTK@ee5508d6e):
[Applications/ctkCommandLineModuleExplorer]
Qt3DInput
QtConcurrent
QtCore
QtGui
QtUiTools
QtWidgets
QtXmlPatterns

[Applications/ctkDICOM]
QtCore
QtWidgets

[Applications/ctkDICOM2]
QtCore
QtWidgets

[Applications/ctkDICOM2/Testing/Cpp]
QtCore

[Applications/ctkDICOMDemoSCU]

[Applications/ctkDICOMDemoSCU/Testing/Cpp]
QtCore

[Applications/ctkDICOMHost]
QtCore
QtWidgets

[Applications/ctkDICOMHost/Testing/Cpp]
QtCore

[Applications/ctkDICOMIndexer]
QtCore

[Applications/ctkDICOMIndexer/Testing/Cpp]
QtCore

[Applications/ctkDICOMObjectViewer]
QtCore
QtWidgets

[Applications/ctkDICOMQuery]
QtCore

[Applications/ctkDICOMQueryRetrieve]
QtCore
QtWidgets

[Applications/ctkDICOMRetrieve]
QtCore

[Applications/ctkDICOM/Testing/Cpp]
QtCore

[Applications/ctkEventBusDemo]
QtCore
QtWidgets

[Applications/ctkExampleHost]
QtCore
QtWidgets

[Applications/ctkExampleHostedApp]
QtCore
QtWidgets

[Applications/ctkPluginBrowser]
QtCore
QtGui
QtWidgets

[Applications/ctkPluginGenerator]
QtCore
QtWidgets

[Applications/ctkQtTesting]
QtCore
QtWidgets

[Applications/ctkSimplePythonShell]
QtCore
QtWidgets

[Applications/ctkXnatTreeBrowser]
QtCore
QtWidgets

[Applications/Testing/Cpp]
QtCore

[CMake]

[CMake/ctkLinkerAsNeededFlagCheck]

[Documentation]

[Libs]
QtCore

[Libs/CommandLineModules/Backend/FunctionPointer]
QtCore

[Libs/CommandLineModules/Backend/LocalProcess]
QtCore

[Libs/CommandLineModules/Backend/XMLChecker]
QtCore

[Libs/CommandLineModules/Core]
QtConcurrent
QtCore
QtGui
QtWidgets
QtXmlPatterns

[Libs/CommandLineModules/Core/Testing/Cpp]
QtCore

[Libs/CommandLineModules/Documentation/Snippets/ModuleManager]
QtCore
QtWidgets

[Libs/CommandLineModules/Frontend/QtGui]
QtCore
QtUiTools
QtWidgets

[Libs/CommandLineModules/Frontend/QtGui/Testing/Cpp]
QtCore
QtWidgets

[Libs/CommandLineModules/Frontend/QtWebKit]
QtCore
QtWebEngineWidgets

[Libs/CommandLineModules/Testing/Cpp]
QtCore
QtUiTools
QtWidgets

[Libs/CommandLineModules/Testing/Modules/Blur2dImage]
QtCore

[Libs/CommandLineModules/Testing/Modules/TestBed]
QtCore

[Libs/CommandLineModules/Testing/Modules/Tour]
QtCore
QtGui
QtWidgets

[Libs/Core]
QtCore

[Libs/Core/CMake/TestBFD]

[Libs/Core/Documentation/Snippets/CommandLineParser]
QtCore

[Libs/Core/Testing/Cpp]
QtCore
QtGui
QtTest
QtWidgets

[Libs/DICOM/Core]
QtCore
QtSql

[Libs/DICOM/Core/Testing/Cpp]
QtCore
QtSql

[Libs/DICOM/Widgets]
Qt3DInput
QtCore
QtGui
QtSql
QtWidgets

[Libs/DICOM/Widgets/Plugins]
QtCore
QtDesigner

[Libs/DICOM/Widgets/Testing/Cpp]
QtCore
QtTest
QtWidgets

[Libs/ImageProcessing/ITK/Core]
QtCore

[Libs/ImageProcessing/ITK/Core/Testing/Cpp]
QtCore

[Libs/PluginFramework]
QtConcurrent
QtCore
QtSql

[Libs/PluginFramework/Documentation/Snippets/EventAdmin-Intro]
QtCore

[Libs/PluginFramework/service/application]
QtCore

[Libs/PluginFramework/service/cm]
QtCore

[Libs/PluginFramework/service/datalocation]
QtCore

[Libs/PluginFramework/service/debug]
QtCore

[Libs/PluginFramework/service/event]
QtCore

[Libs/PluginFramework/service/log]
QtCore

[Libs/PluginFramework/service/metatype]
QtCore

[Libs/PluginFramework/Testing/Cpp]
QtCore
QtTest

[Libs/PluginFramework/Testing/FrameworkTestPlugins/app_test]
QtCore
QtTest

[Libs/PluginFramework/Testing/FrameworkTestPlugins/pluginA1_test]
QtCore

[Libs/PluginFramework/Testing/FrameworkTestPlugins/pluginA2_test]
QtCore

[Libs/PluginFramework/Testing/FrameworkTestPlugins/pluginA_test]
QtCore

[Libs/PluginFramework/Testing/FrameworkTestPlugins/pluginD_test]
QtCore

[Libs/PluginFramework/Testing/FrameworkTestPlugins/pluginSL1_test]
QtCore

[Libs/PluginFramework/Testing/FrameworkTestPlugins/pluginSL3_test]
QtCore

[Libs/PluginFramework/Testing/FrameworkTestPlugins/pluginSL4_test]
QtCore

[Libs/PluginFramework/Testing/FrameworkTestPlugins/pluginS_test]
QtCore

[Libs/PluginFramework/Testing/MetaTypeTestPlugins/pluginAttrPwd_test]
QtCore

[Libs/PluginFramework/Testing/org.commontk.configadmintest]
QtCore
QtTest

[Libs/PluginFramework/Testing/org.commontk.eventadmintest]
QtCore
QtTest

[Libs/PluginFramework/Testing/org.commontk.eventadmintest.perf]
QtCore
QtTest

[Libs/PluginFramework/Testing/org.commontk.metatypetest]
QtCore
QtTest

[Libs/PluginFramework/Testing/org.commontk.pluginfwtest]
QtCore
QtTest

[Libs/PluginFramework/Testing/org.commontk.pluginfwtest.perf]
QtCore
QtTest

[Libs/QtTesting]
QtCore
QtWidgets

[Libs/Scripting/Python/Core]
QtCore

[Libs/Scripting/Python/Core/Testing/Cpp]
QtCore

[Libs/Scripting/Python/Widgets]
QtCore
QtGui
QtWidgets

[Libs/Scripting/Python/Widgets/Plugins]
QtCore
QtDesigner

[Libs/Scripting/Python/Widgets/Testing/Cpp]
QtCore
QtWidgets

[Libs/Testing]

[Libs/Visualization/VTK/Core]
QtCore

[Libs/Visualization/VTK/Core/Testing/Cpp]
QtCore
QtWidgets

[Libs/Visualization/VTK/Widgets]
Qt3DInput
QtCore
QtGui
QtWidgets

[Libs/Visualization/VTK/Widgets/Plugins]
QtCore
QtDesigner

[Libs/Visualization/VTK/Widgets/Testing/Cpp]
Qt3DInput
QtCore
QtGui
QtTest
QtWidgets

[Libs/Widgets]
Qt3DInput
QtCore
QtGui
QtOpenGL
QtWidgets
QtXml

[Libs/Widgets/Plugins]
QtCore
QtDesigner
QtWidgets

[Libs/Widgets/Testing/Cpp]
Qt3DInput
QtCore
QtGui
QtOpenGL
QtTest
QtWidgets

[Libs/XNAT/Core]
QtCore
QtNetwork
QtScript

[Libs/XNAT/Core/Testing]
QtCore
QtTest

[Libs/XNAT/Widgets]
QtCore
QtWidgets

[Plugins/org.commontk.configadmin]
QtCore

[Plugins/org.commontk.configadmin/Testing/Cpp]
QtCore

[Plugins/org.commontk.dah.cmdlinemoduleapp]
QtCore
QtGui
QtWidgets

[Plugins/org.commontk.dah.core]
QtCore
QtGui
QtNetwork
QtWidgets

[Plugins/org.commontk.dah.core/Testing/Cpp]
QtCore

[Plugins/org.commontk.dah.exampleapp]
QtCore
QtGui
QtWidgets

[Plugins/org.commontk.dah.examplehost]
QtCore
QtWidgets

[Plugins/org.commontk.dah.host]
QtCore
QtNetwork

[Plugins/org.commontk.dah.hostedapp]
QtCore
QtNetwork

[Plugins/org.commontk.eventadmin]
QtConcurrent
QtCore

[Plugins/org.commontk.eventadmin/adapter]
QtCore

[Plugins/org.commontk.eventadmin/dispatch]
QtCore

[Plugins/org.commontk.eventadmin/handler]
QtCore

[Plugins/org.commontk.eventadmin/tasks]
QtCore

[Plugins/org.commontk.eventadmin/Testing/Cpp]
QtCore

[Plugins/org.commontk.eventadmin/util]
QtCore

[Plugins/org.commontk.eventbus]
QtCore

[Plugins/org.commontk.eventbus/Testing/Cpp]
QtCore
QtWidgets

[Plugins/org.commontk.log]
QtCore

[Plugins/org.commontk.log4qt]
QtCore

[Plugins/org.commontk.metatype]
QtCore

[Plugins/org.commontk.metatype/Testing/Cpp]
QtCore

[Plugins/org.commontk.plugingenerator.core]
QtCore

[Plugins/org.commontk.plugingenerator.ui]
QtCore
QtGui

[Utilities/DGraph]
Clone this wiki locally