diff --git a/cmake/modules/CbmMacros.cmake b/cmake/modules/CbmMacros.cmake
index ce3c4a74340aeaeefbdc133e1c4f0e52d1d03731..ac6972f29d4ecf045f8b86d6fb2953f4bafdedcd 100644
--- a/cmake/modules/CbmMacros.cmake
+++ b/cmake/modules/CbmMacros.cmake
@@ -190,4 +190,46 @@ MACRO (GENERATE_CBM_TEST_SCRIPT SCRIPT_FULL_NAME DEST_DIR)
 ENDMACRO (GENERATE_CBM_TEST_SCRIPT)
 #----- Macro GENERATE_CBM_TEST_SCRIPT  --------------------------------------
 
-
+macro(generate_cbm_library)
+#macro for generating Cbm libraries
+
+  ############### Changing the file extension .cxx to .h #################
+  foreach (SRCS ${SRCS})
+    string(REGEX REPLACE "[.]cxx$" ".h" HEADER "${SRCS}")
+      if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${HEADER}")
+        set(HEADERS ${HEADERS} ${HEADER})
+      endif()
+  endforeach()
+
+  ######################### build the library ############################
+  add_library(${LIBRARY_NAME} SHARED ${HEADERS} ${SRCS} ${NO_DICT_SRCS} ${LINKDEF})
+  
+  target_link_libraries(${LIBRARY_NAME} PUBLIC ${DEPENDENCIES} ${PUBLIC_DEPENDENCIES} PRIVATE ${PRIVATE_DEPENDENCIES} INTERFACE ${INTERFACE_DEPENDENCIES})
+  target_include_directories(${LIBRARY_NAME} PUBLIC ${INCLUDE_DIRECTORIES})
+
+  if(LINKDEF)
+    root_generate_dictionary(G__${LIBRARY_NAME} ${HEADERS} MODULE ${LIBRARY_NAME} LINKDEF ${LINKDEF})
+  endif(LINKDEF)
+
+  ############# Install target and corresponding header files ############
+  install(TARGETS ${LIBRARY_NAME} DESTINATION lib)
+  install(FILES ${HEADERS} DESTINATION include)
+
+
+  if(LINKDEF)
+    set(rootmap_file ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}${LIBRARY_NAME}.rootmap)
+    set(pcm_file ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}${LIBRARY_NAME}_rdict.pcm)
+    install(FILES ${rootmap_file} ${pcm_file} DESTINATION lib)
+  endif(LINKDEF)
+
+  set(LIBRARY_NAME)
+  set(LINKDEF)
+  set(SRCS)
+  set(HEADERS)
+  set(NO_DICT_SRCS)
+  set(DEPENDENCIES)
+  set(PUBLIC_DEPENDENCIES)
+  set(PRIVATE_DEPENDENCIES)
+  set(INTERFACE_DEPENDENCIES)
+
+endmacro(generate_cbm_library)