summaryrefslogtreecommitdiffstats
path: root/tools/devassistant/files/crt/c/openlmi/src/CMakeLists.txt.tpl
diff options
context:
space:
mode:
Diffstat (limited to 'tools/devassistant/files/crt/c/openlmi/src/CMakeLists.txt.tpl')
-rw-r--r--tools/devassistant/files/crt/c/openlmi/src/CMakeLists.txt.tpl48
1 files changed, 48 insertions, 0 deletions
diff --git a/tools/devassistant/files/crt/c/openlmi/src/CMakeLists.txt.tpl b/tools/devassistant/files/crt/c/openlmi/src/CMakeLists.txt.tpl
new file mode 100644
index 0000000..237f20e
--- /dev/null
+++ b/tools/devassistant/files/crt/c/openlmi/src/CMakeLists.txt.tpl
@@ -0,0 +1,48 @@
+set(PROVIDER_NAME {{ PROJECT_NAME }})
+set(LIBRARY_NAME cmpiLMI_${PROVIDER_NAME})
+set(MOF 60_LMI_{{ PROJECT_NAME }}.mof)
+set(CIMPROVAGT_SCRIPT cmpiLMI_{{ PROJECT_NAME }}-cimprovagt)
+
+set(provider_SRCS
+)
+
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+
+konkretcmpi_generate(${MOF}
+ CIM_PROVIDERS
+ CIM_HEADERS
+ CIM_CLASSES
+ ${OPENLMI_QUALIFIERS_MOF}
+)
+
+add_library(${LIBRARY_NAME} SHARED
+ ${provider_SRCS}
+ ${CIM_PROVIDERS}
+ ${CIM_HEADERS}
+)
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR}
+ ${CMPI_INCLUDE_DIR}
+ )
+
+target_link_libraries(${LIBRARY_NAME}
+ openlmicommon
+ ${KONKRETCMPI_LIBRARIES}
+ )
+
+set(CIM_PROVIDERS_CLASSES "")
+foreach(CIM_CLASS ${CIM_CLASSES})
+ if(NOT ${CIM_CLASS} MATCHES "Indication")
+ set(CIM_PROVIDERS_CLASSES ${CIM_PROVIDERS_CLASSES} ${CIM_CLASS})
+ endif(NOT ${CIM_CLASS} MATCHES "Indication")
+endforeach(CIM_CLASS ${CIM_CLASSES})
+
+set(TARGET_MOF "${CMAKE_BINARY_DIR}/mof/90_LMI_{{ PROJECT_NAME }}_Profile.mof")
+profile_mof_generate("90_LMI_{{ PROJECT_NAME }}_Profile.mof.skel" "${TARGET_MOF}" "${CIM_PROVIDERS_CLASSES}")
+
+# Create registration file
+cim_registration(${PROVIDER_NAME} ${LIBRARY_NAME} ${MOF} share/openlmi-providers)
+
+install(TARGETS ${LIBRARY_NAME} DESTINATION lib${LIB_SUFFIX}/cmpi/)
+install(PROGRAMS ${CIMPROVAGT_SCRIPT} DESTINATION libexec/pegasus)
+install(FILES ${TARGET_MOF} DESTINATION share/openlmi-providers/)