From 0ce55d926bf1b54252cdb1394f6f7db5e2619b4f Mon Sep 17 00:00:00 2001 From: Alexander Vieth Date: Wed, 8 Oct 2025 13:59:24 +0200 Subject: [PATCH 1/5] Use PluginInfo.json --- CMakeLists.txt | 11 ++++------- PluginInfo.json | 9 +++++++++ src/ImageViewerPlugin.h | 3 ++- src/ImageViewerPlugin.json | 5 ----- 4 files changed, 15 insertions(+), 13 deletions(-) create mode 100644 PluginInfo.json delete mode 100644 src/ImageViewerPlugin.json diff --git a/CMakeLists.txt b/CMakeLists.txt index a48ad2ff..08d821c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -128,8 +128,8 @@ set(SHADERS res/shaders/SelectionToolOffScreenVertex.glsl ) -set(JSON - src/ImageViewerPlugin.json +set(PLUGININFO + PluginInfo.json ) set(QRC @@ -137,7 +137,7 @@ set(QRC ) set(SOURCES ${PLUGIN} ${MODEL} ${RENDERING} ${WIDGETS} ${DIALOGS} ${ACTIONS} ${LAYER_ACTIONS} ${TOOLBAR_ACTIONS}) -set(AUX ${JSON} ${QRC}) +set(AUX ${PLUGININFO} ${QRC}) source_group(Plugin FILES ${PLUGIN}) source_group(Model FILES ${MODEL}) @@ -205,10 +205,7 @@ add_custom_command(TARGET ${PROJECT} POST_BUILD --verbose ) -set_target_properties(${PROJECT} - PROPERTIES - FOLDER ViewPlugins -) +mv_handle_plugin_config(${PROJECT}) # ----------------------------------------------------------------------------- # Miscellaneous diff --git a/PluginInfo.json b/PluginInfo.json new file mode 100644 index 00000000..a95559fd --- /dev/null +++ b/PluginInfo.json @@ -0,0 +1,9 @@ +{ + "name" : "Image Viewer", + "version" : { + "plugin" : "0.1.0", + "core" : ["1.3"] + }, + "type" : "View", + "dependencies" : ["Images"] +} \ No newline at end of file diff --git a/src/ImageViewerPlugin.h b/src/ImageViewerPlugin.h index 93116a29..9dd7315f 100644 --- a/src/ImageViewerPlugin.h +++ b/src/ImageViewerPlugin.h @@ -132,7 +132,8 @@ class ImageViewerPluginFactory : public ViewPluginFactory { Q_INTERFACES(mv::plugin::ViewPluginFactory mv::plugin::PluginFactory) Q_OBJECT - Q_PLUGIN_METADATA(IID "nl.BioVault.ImageViewerPlugin" FILE "ImageViewerPlugin.json") + Q_PLUGIN_METADATA(IID "nl.BioVault.ImageViewerPlugin" + FILE "PluginInfo.json") public: /** Default constructor */ diff --git a/src/ImageViewerPlugin.json b/src/ImageViewerPlugin.json deleted file mode 100644 index 15609656..00000000 --- a/src/ImageViewerPlugin.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name" : "Image Viewer", - "version" : "0.1.0", - "dependencies": ["Images"] -} \ No newline at end of file From f31a2d7c5dff8af2abb15ceccbaa5804e84cc41d Mon Sep 17 00:00:00 2001 From: Alexander Vieth Date: Wed, 8 Oct 2025 13:59:40 +0200 Subject: [PATCH 2/5] Specify CXX as language in cmake --- CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 08d821c8..3601f70c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,10 @@ option(MV_UNITY_BUILD "Combine target source files into batches for faster compi # ImageViewer Plugin # ----------------------------------------------------------------------------- set(PROJECT "ImageViewerPlugin") -PROJECT(${PROJECT}) +PROJECT(${PROJECT} + DESCRIPTION "An image viewer plugin for ManiVault" + LANGUAGES CXX +) # ----------------------------------------------------------------------------- # CMake Options From 086a35f28bcabf4d5e535100350fd395a9e03420 Mon Sep 17 00:00:00 2001 From: Alexander Vieth Date: Wed, 8 Oct 2025 13:59:54 +0200 Subject: [PATCH 3/5] Remove unused include --- CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3601f70c..ddfc867e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -165,8 +165,6 @@ add_library(${PROJECT} SHARED ${SOURCES} ${UIS} ${SHADERS} ${AUX} ${RESOURCE_FIL # ----------------------------------------------------------------------------- # Target include directories # ----------------------------------------------------------------------------- -# Note: src is included for ClustersLayerWidget.h -target_include_directories(${PROJECT} PRIVATE src) target_include_directories(${PROJECT} PRIVATE "${ManiVault_INCLUDE_DIR}") # ----------------------------------------------------------------------------- From 76aacacf950a2e75135755673f7a91ffaa1cac4a Mon Sep 17 00:00:00 2001 From: Alexander Vieth Date: Wed, 8 Oct 2025 14:00:08 +0200 Subject: [PATCH 4/5] Remove unused cmake definitions --- CMakeLists.txt | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ddfc867e..6d49118c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,10 +41,6 @@ set(PLUGIN src/ImageViewerPlugin.cpp ) -set(PLUGIN_MOC_HEADERS - src/ImageViewerPlugin.h -) - set(MODEL src/Layer.h src/Layer.cpp @@ -154,13 +150,12 @@ source_group(Shaders FILES ${SHADERS}) source_group(Aux FILES ${AUX}) source_group(Resources FILES ${QRC}) -QT6_WRAP_UI(UI_HEADERS ${UIS}) QT6_ADD_RESOURCES(RESOURCE_FILES ${QRC}) # ----------------------------------------------------------------------------- # CMake Target # ----------------------------------------------------------------------------- -add_library(${PROJECT} SHARED ${SOURCES} ${UIS} ${SHADERS} ${AUX} ${RESOURCE_FILES}) +add_library(${PROJECT} SHARED ${SOURCES} ${SHADERS} ${AUX} ${RESOURCE_FILES}) # ----------------------------------------------------------------------------- # Target include directories From f1e65f147632654b2882e7999a8318e9e70c6b0a Mon Sep 17 00:00:00 2001 From: Alexander Vieth Date: Wed, 8 Oct 2025 14:00:24 +0200 Subject: [PATCH 5/5] safer cmake checks --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d49118c..c3ab523d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,12 +19,12 @@ set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) -if(MSVC) +if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DWIN32 /EHsc /MP /permissive- /Zc:__cplusplus") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD") -endif(MSVC) +endif() # ----------------------------------------------------------------------------- # Dependencies @@ -207,7 +207,7 @@ mv_handle_plugin_config(${PROJECT}) # Miscellaneous # ----------------------------------------------------------------------------- # Automatically set the debug environment (command + working directory) for MSVC -if(MSVC) +if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") set_property(TARGET ${PROJECT} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $,${ManiVault_INSTALL_DIR}/Debug,$,${ManiVault_INSTALL_DIR}/RelWithDebInfo,${ManiVault_INSTALL_DIR}/Release>>) set_property(TARGET ${PROJECT} PROPERTY VS_DEBUGGER_COMMAND $,"${ManiVault_INSTALL_DIR}/Debug/ManiVault Studio.exe",$,"${ManiVault_INSTALL_DIR}/RelWithDebInfo/ManiVault Studio.exe","${ManiVault_INSTALL_DIR}/Release/ManiVault Studio.exe">>) endif()