Browse Source

CPack/Deb inter package dependencies

In multi-component setup dependencies
between packages are set (breaking change)
Alexander Smorkalov 9 years ago
parent
commit
23baaf8d73
1 changed files with 17 additions and 1 deletions
  1. 17 1
      Modules/CPackDeb.cmake

+ 17 - 1
Modules/CPackDeb.cmake

@@ -698,6 +698,22 @@ function(cpack_deb_prepare_package_vars)
         endif()
         endif()
       endif()
       endif()
     endforeach()
     endforeach()
+    set(COMPONENT_DEPENDS "")
+    foreach (_PACK ${CPACK_COMPONENT_${_local_component_name}_DEPENDS})
+      get_component_package_name(_PACK_NAME "${_PACK}")
+      if(COMPONENT_DEPENDS)
+        set(COMPONENT_DEPENDS "${_PACK_NAME} (= ${CPACK_DEBIAN_PACKAGE_VERSION}), ${COMPONENT_DEPENDS}")
+      else()
+        set(COMPONENT_DEPENDS "${_PACK_NAME} (= ${CPACK_DEBIAN_PACKAGE_VERSION})")
+      endif()
+    endforeach()
+    if(COMPONENT_DEPENDS)
+      if(CPACK_DEBIAN_PACKAGE_DEPENDS)
+        set(CPACK_DEBIAN_PACKAGE_DEPENDS "${COMPONENT_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_DEPENDS}")
+      else()
+        set(CPACK_DEBIAN_PACKAGE_DEPENDS "${COMPONENT_DEPENDS}")
+      endif()
+    endif()
   endif()
   endif()
 
 
   # at this point, the CPACK_DEBIAN_PACKAGE_DEPENDS is properly set
   # at this point, the CPACK_DEBIAN_PACKAGE_DEPENDS is properly set
@@ -705,7 +721,7 @@ function(cpack_deb_prepare_package_vars)
   # Append automatically discovered dependencies .
   # Append automatically discovered dependencies .
   if(NOT "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}" STREQUAL "")
   if(NOT "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}" STREQUAL "")
     if (CPACK_DEBIAN_PACKAGE_DEPENDS)
     if (CPACK_DEBIAN_PACKAGE_DEPENDS)
-      set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_DEPENDS}")
+      set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
     else ()
     else ()
       set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
       set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
     endif ()
     endif ()