Explorar o código

Support custom manifest headers for plugins.

Sascha Zelzer %!s(int64=14) %!d(string=hai) anos
pai
achega
ac653f1917

+ 8 - 1
CMake/ctkFunctionGeneratePluginManifest.cmake

@@ -6,7 +6,7 @@
 FUNCTION(ctkFunctionGeneratePluginManifest QRC_SRCS)
 
   CtkMacroParseArguments(MY
-    "ACTIVATIONPOLICY;CATEGORY;CONTACT_ADDRESS;COPYRIGHT;DESCRIPTION;DOC_URL;ICON;LICENSE;NAME;REQUIRE_PLUGIN;SYMBOLIC_NAME;VENDOR;VERSION"
+    "ACTIVATIONPOLICY;CATEGORY;CONTACT_ADDRESS;COPYRIGHT;DESCRIPTION;DOC_URL;ICON;LICENSE;NAME;REQUIRE_PLUGIN;SYMBOLIC_NAME;VENDOR;VERSION;CUSTOM_HEADERS"
     ""
     ${ARGN}
     )
@@ -72,6 +72,13 @@ FUNCTION(ctkFunctionGeneratePluginManifest QRC_SRCS)
     SET(_manifest_content "${_manifest_content}\nPlugin-Version: ${MY_VERSION}")
   ENDIF()
 
+  IF(DEFINED MY_CUSTOM_HEADERS)
+    SET(_manifest_content "${_manifest_content}\n")
+    FOREACH(_custom_header ${MY_CUSTOM_HEADERS})
+      SET(_manifest_content "${_manifest_content}\n${_custom_header}: ${${_custom_header}}")
+    ENDFOREACH()
+  ENDIF()
+
   SET(_manifest_filename "MANIFEST.MF")
   SET(_manifest_filepath "${CMAKE_CURRENT_BINARY_DIR}/${_manifest_filename}")
   STRING(REPLACE "." "_" _symbolic_name ${MY_SYMBOLIC_NAME})

+ 3 - 0
CMake/ctkMacroBuildPlugin.cmake

@@ -78,6 +78,8 @@ MACRO(ctkMacroBuildPlugin)
   SET(Plugin-Vendor )
   SET(Plugin-Version )
 
+  SET(Custom-Headers )
+
   IF(MY_TEST_PLUGIN)
     # Since the test plug-ins are not considered when calculating
     # target dependencies via DGraph, we add the dependencies
@@ -150,6 +152,7 @@ MACRO(ctkMacroBuildPlugin)
     SYMBOLIC_NAME ${Plugin-SymbolicName}
     VENDOR ${Plugin-Vendor}
     VERSION ${Plugin-Version}
+    CUSTOM_HEADERS ${Custom-Headers}
     )
 
   IF(manifest_headers_dep)