summaryrefslogtreecommitdiffstats
path: root/cmake/modules/OpenLMIMacros.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/OpenLMIMacros.cmake')
-rw-r--r--cmake/modules/OpenLMIMacros.cmake11
1 files changed, 9 insertions, 2 deletions
diff --git a/cmake/modules/OpenLMIMacros.cmake b/cmake/modules/OpenLMIMacros.cmake
index d55f983..055a8cc 100644
--- a/cmake/modules/OpenLMIMacros.cmake
+++ b/cmake/modules/OpenLMIMacros.cmake
@@ -123,6 +123,7 @@ endmacro(konkretcmpi_generate MOF PROVIDERS HEADERS)
# @param[in] LIBRARY_NAME name of the library without lib prefix and .so suffix (same as for add_library)
# @param[in] MOF name of the MOF file
# @param[in] DEST destination directory where to install .reg file (use "" to skip installation)
+# @param[in] ARGN optional varargs argument: path(s) to the profile(s) to be registered
#
macro(cim_registration PROVIDER_NAME LIBRARY_NAME MOF DEST)
string(REPLACE ".mof" ".reg" REG ${MOF})
@@ -143,11 +144,17 @@ macro(cim_registration PROVIDER_NAME LIBRARY_NAME MOF DEST)
${MOF}
PATHS ${CMAKE_SOURCE_DIR}/mof/
)
+ set(PROFILE_DO_REG "false")
+ if (NOT "${ARGN}" STREQUAL "")
+ set(PROFILE_DO_REG "true")
+ endif (NOT "${ARGN}" STREQUAL "")
add_custom_target(register-${PROVIDER_NAME}
- ${OPENLMI_MOF_REGISTER} -v ${OPENLMI_VERSION} register ${MOF_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${REG})
+ ${OPENLMI_MOF_REGISTER} -v ${OPENLMI_VERSION} register ${MOF_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${REG} &&
+ if ${PROFILE_DO_REG}\; then ${OPENLMI_MOF_REGISTER} --just-mofs -n root/interop -c tog-pegasus register ${ARGN}\; fi)
add_custom_target(unregister-${PROVIDER_NAME}
- ${OPENLMI_MOF_REGISTER} -v ${OPENLMI_VERSION} unregister ${MOF_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${REG})
+ ${OPENLMI_MOF_REGISTER} -v ${OPENLMI_VERSION} unregister ${MOF_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${REG} &&
+ if ${PROFILE_DO_REG}\; then ${OPENLMI_MOF_REGISTER} --just-mofs -n root/interop -c tog-pegasus unregister ${ARGN}\; fi)
endmacro(cim_registration)