summaryrefslogtreecommitdiffstats
path: root/cmake/modules/CuraMacros.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/CuraMacros.cmake')
-rw-r--r--cmake/modules/CuraMacros.cmake16
1 files changed, 16 insertions, 0 deletions
diff --git a/cmake/modules/CuraMacros.cmake b/cmake/modules/CuraMacros.cmake
index cf38db9..6c80c7f 100644
--- a/cmake/modules/CuraMacros.cmake
+++ b/cmake/modules/CuraMacros.cmake
@@ -73,3 +73,19 @@ macro(konkretcmpi_generate MOF CIM_PROVIDERS CIM_HEADERS)
file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/${PROVIDER} ${CMAKE_CURRENT_SOURCE_DIR}/${PROVIDER})
endforeach(PROVIDER ${NEW_PROVIDERS})
endmacro(konkretcmpi_generate MOF PROVIDERS HEADERS)
+
+# This macro creates registration file from shared library
+#
+# @param[in] PROVIDER name of the library without lib and .so (same as for add_library)
+#
+macro(cim_registration PROVIDER)
+ # Create registration out of shared library
+ add_custom_command(TARGET ${PROVIDER}
+ POST_BUILD
+ COMMAND ${KONKRETCMPI_KONKRETREG} -r lib${PROVIDER}.so > ${PROVIDER}.registration
+ COMMENT "Generating .reg file from library for ${PROVIDER}"
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ )
+ # Install it
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROVIDER}.registration DESTINATION share/cura-providers/)
+endmacro(cim_registration)