Skip to content

Commit 8224961

Browse files
committed
Plugin config file (ManiVaultStudio#149)
* Use PluginInfo.json * Specify CXX as language in cmake * Remove unused include * Remove unused cmake definitions * safer cmake checks
1 parent 8502af9 commit 8224961

3 files changed

Lines changed: 23 additions & 20 deletions

File tree

CMakeLists.txt

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ option(MV_UNITY_BUILD "Combine target source files into batches for faster compi
66
# ImageViewer Plugin
77
# -----------------------------------------------------------------------------
88
set(PROJECT "InteractiveHsneImageViewerPlugin")
9-
PROJECT(${PROJECT})
9+
PROJECT(${PROJECT}
10+
DESCRIPTION "An image viewer plugin for ManiVault - Interactive HSNE version"
11+
LANGUAGES CXX
12+
)
1013

1114
# -----------------------------------------------------------------------------
1215
# CMake Options
@@ -16,12 +19,12 @@ set(CMAKE_AUTOMOC ON)
1619
set(CMAKE_AUTORCC ON)
1720
set(CMAKE_AUTOUIC ON)
1821

19-
if(MSVC)
22+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
2023
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DWIN32 /EHsc /MP /permissive- /Zc:__cplusplus")
2124
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
2225
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD")
2326
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
24-
endif(MSVC)
27+
endif()
2528

2629
# -----------------------------------------------------------------------------
2730
# Dependencies
@@ -38,10 +41,6 @@ set(PLUGIN
3841
src/ImageViewerPlugin.cpp
3942
)
4043

41-
set(PLUGIN_MOC_HEADERS
42-
src/ImageViewerPlugin.h
43-
)
44-
4544
set(MODEL
4645
src/Layer.h
4746
src/Layer.cpp
@@ -128,16 +127,16 @@ set(SHADERS
128127
res/shaders/SelectionToolOffScreenVertex.glsl
129128
)
130129

131-
set(JSON
132-
src/ImageViewerPlugin.json
130+
set(PLUGININFO
131+
PluginInfo.json
133132
)
134133

135134
set(QRC
136135
res/resources_imgageviewer.qrc
137136
)
138137

139138
set(SOURCES ${PLUGIN} ${MODEL} ${RENDERING} ${WIDGETS} ${DIALOGS} ${ACTIONS} ${LAYER_ACTIONS} ${TOOLBAR_ACTIONS})
140-
set(AUX ${JSON} ${QRC})
139+
set(AUX ${PLUGININFO} ${QRC})
141140

142141
source_group(Plugin FILES ${PLUGIN})
143142
source_group(Model FILES ${MODEL})
@@ -151,19 +150,16 @@ source_group(Shaders FILES ${SHADERS})
151150
source_group(Aux FILES ${AUX})
152151
source_group(Resources FILES ${QRC})
153152

154-
QT6_WRAP_UI(UI_HEADERS ${UIS})
155153
QT6_ADD_RESOURCES(RESOURCE_FILES ${QRC})
156154

157155
# -----------------------------------------------------------------------------
158156
# CMake Target
159157
# -----------------------------------------------------------------------------
160-
add_library(${PROJECT} SHARED ${SOURCES} ${UIS} ${SHADERS} ${AUX} ${RESOURCE_FILES})
158+
add_library(${PROJECT} SHARED ${SOURCES} ${SHADERS} ${AUX} ${RESOURCE_FILES})
161159

162160
# -----------------------------------------------------------------------------
163161
# Target include directories
164162
# -----------------------------------------------------------------------------
165-
# Note: src is included for ClustersLayerWidget.h
166-
target_include_directories(${PROJECT} PRIVATE src)
167163
target_include_directories(${PROJECT} PRIVATE "${ManiVault_INCLUDE_DIR}")
168164

169165
# -----------------------------------------------------------------------------
@@ -205,16 +201,13 @@ add_custom_command(TARGET ${PROJECT} POST_BUILD
205201
--verbose
206202
)
207203

208-
set_target_properties(${PROJECT}
209-
PROPERTIES
210-
FOLDER ViewPlugins
211-
)
204+
mv_handle_plugin_config(${PROJECT})
212205

213206
# -----------------------------------------------------------------------------
214207
# Miscellaneous
215208
# -----------------------------------------------------------------------------
216209
# Automatically set the debug environment (command + working directory) for MSVC
217-
if(MSVC)
210+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
218211
set_property(TARGET ${PROJECT} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<IF:$<CONFIG:DEBUG>,${ManiVault_INSTALL_DIR}/Debug,$<IF:$<CONFIG:RELWITHDEBINFO>,${ManiVault_INSTALL_DIR}/RelWithDebInfo,${ManiVault_INSTALL_DIR}/Release>>)
219212
set_property(TARGET ${PROJECT} PROPERTY VS_DEBUGGER_COMMAND $<IF:$<CONFIG:DEBUG>,"${ManiVault_INSTALL_DIR}/Debug/ManiVault Studio.exe",$<IF:$<CONFIG:RELWITHDEBINFO>,"${ManiVault_INSTALL_DIR}/RelWithDebInfo/ManiVault Studio.exe","${ManiVault_INSTALL_DIR}/Release/ManiVault Studio.exe">>)
220213
endif()

PluginInfo.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"name" : "Image Viewer",
3+
"version" : {
4+
"plugin" : "0.1.0",
5+
"core" : ["1.3"]
6+
},
7+
"type" : "View",
8+
"dependencies" : ["Images"]
9+
}

src/ImageViewerPlugin.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,8 @@ class ImageViewerPluginFactory : public ViewPluginFactory
132132
{
133133
Q_INTERFACES(mv::plugin::ViewPluginFactory mv::plugin::PluginFactory)
134134
Q_OBJECT
135-
Q_PLUGIN_METADATA(IID "nl.BioVault.InteractiveHsneImageViewerPlugin" FILE "ImageViewerPlugin.json")
135+
Q_PLUGIN_METADATA(IID "nl.BioVault.ImageViewerPlugin"
136+
FILE "PluginInfo.json")
136137

137138
public:
138139
/** Default constructor */

0 commit comments

Comments
 (0)