summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorRadek Novacek <rnovacek@redhat.com>2012-07-23 14:59:27 +0200
committerRadek Novacek <rnovacek@redhat.com>2012-07-23 14:59:27 +0200
commit022069da799c6b99cf95dea40fb9fcd638670cc1 (patch)
treec5402d91f54787ef6373b7979706ed02847a2b51 /cmake
parent78357ae1f43f7bf84b3386f6cd97c166040319cd (diff)
downloadopenlmi-providers-022069da799c6b99cf95dea40fb9fcd638670cc1.tar.gz
openlmi-providers-022069da799c6b99cf95dea40fb9fcd638670cc1.tar.xz
openlmi-providers-022069da799c6b99cf95dea40fb9fcd638670cc1.zip
Introduce cim_registration macro for creating registration file from library
Diffstat (limited to '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)