#
# Activate component packaging
#

if(CPACK_GENERATOR MATCHES "DEB")
   set(CPACK_DEB_COMPONENT_INSTALL "ON")
   set(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS "ON")
endif()

#
# Choose grouping way
#
#set(CPACK_COMPONENTS_ALL_GROUPS_IN_ONE_PACKAGE)
#set(CPACK_COMPONENTS_GROUPING)
set(CPACK_COMPONENTS_IGNORE_GROUPS 1)
#set(CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE 1)

# setting dependencies
set(CPACK_DEBIAN_PACKAGE_DEPENDS                "depend-default")
set(CPACK_DEBIAN_HEADERS_PACKAGE_DEPENDS        "depend-headers")

# this time we set shlibdeps to on
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_DEBIAN_HEADERS_PACKAGE_SHLIBDEPS OFF)
set(CPACK_DEBIAN_LIBRARIES_PACKAGE_SHLIBDEPS OFF)

# we also set the dependencies of APPLICATION component to empty, and let
# shlibdeps do the job for this component. Otherwise the default will
# override
set(CPACK_DEBIAN_APPLICATIONS_PACKAGE_DEPENDS        "")
