Skip to content

Commit

Permalink
various: fix setting CPACK variables only when building respective pa…
Browse files Browse the repository at this point in the history
…ckage
  • Loading branch information
lerwys committed Apr 5, 2021
1 parent 6cf835a commit 9dbaab6
Show file tree
Hide file tree
Showing 12 changed files with 633 additions and 568 deletions.
96 changes: 53 additions & 43 deletions cmake/Modules/AddExternalProjectPciedriver.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -226,28 +226,16 @@ endif()
option(ENABLE_CPACK "Enables cpack rules" ON)

if(ENABLE_CPACK)
if(${CMAKE_BUILD_TYPE} MATCHES "Debug")
set(CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY TRUE)
set(CMAKE_INSTALL_DEBUG_LIBRARIES TRUE)
set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
endif()

include(InstallRequiredSystemLibraries)

# set architecture as detected by TargetArch module
set(arch_name ${ARCH})

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_BINARY_DIR})

set(pciedriver_DISTRO_VERSION "" CACHE STRING "pciedriver distribution version")
string(APPEND pciedriver_VERSION "${pciedriver_DISTRO_VERSION}")
set(CPACK_GENERATOR "DEB")

set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS ON)
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=")
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_BINARY_DIR})

# Generate debuginfo package
set(CPACK_DEBIAN_PCIEDRIVER_DEBUGINFO_PACKAGE ON)
set(CPACK_DEBIAN_PCIEDRIVER_PACKAGE_DEPENDS "dkms")
set(CPACK_DEBIAN_PCIEDRIVER_PACKAGE_CONTROL_EXTRA
"${BINARY_DIR}/postinst;${BINARY_DIR}/prerm"
Expand All @@ -257,48 +245,70 @@ if(ENABLE_CPACK)
"${CPACK_DEBIAN_PCIEDRIVER_PACKAGE_NAME}_${pciedriver_VERSION}_${arch_name}.deb"
)

set(CPACK_RPM_COMPONENT_INSTALL ON)
set(CPACK_RPM_PACKAGE_AUTOREQ no)
set(CPACK_RPM_PACKAGE_AUTOPROV yes)
set(CPACK_RPM_PCIEDRIVER_PACKAGE_REQUIRE "dkms")
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
/lib
/usr/etc
/etc/systemd
/lib/systemd
/etc/systemd/system
/lib/systemd/system
/etc/udev
/etc/udev/rules.d
)
set(CPACK_RPM_PCIEDRIVER_POST_INSTALL_SCRIPT_FILE "${BINARY_DIR}/postinst")
set(CPACK_RPM_PCIEDRIVER_PRE_UNINSTALL_SCRIPT_FILE "${BINARY_DIR}/prerm")
set(CPACK_RPM_PCIEDRIVER_PACKAGE_NAME "pcieDriver")
set(CPACK_RPM_PCIEDRIVER_FILE_NAME
"${CPACK_RPM_PCIEDRIVER_PACKAGE_NAME}_${pciedriver_VERSION}_${arch_name}.rpm"
)
# Generate debuginfo package
set(CPACK_RPM_PCIEDRIVER_DEBUGINFO_PACKAGE ON)
set(CPACK_RPM_PCIEDRIVER_BUILD_SOURCE_DIRS_PREFIX "/usr/src/debug/${CPACK_RPM_PCIEDRIVER_PACKAGE_NAME}-${pciedriver_VERSION}")

set(CPACK_COMPONENT_PCIEDRIVER_DESCRIPTION "pcieDriver library/driver")
set(CPACK_PACKAGE_VENDOR "LNLS")
set(CPACK_PACKAGE_CONTACT "Lucas Russo <[email protected]>")

# This is always true as this is included in the main
# CMakeLists.txt. Kept here for reference, as main CMakeLists.txt
# already includes CPack
# if(CMAKE_CURRENT_BINARY_DIR STREQUAL CMAKE_BINARY_DIR)
# include(CPack)
# if(${CMAKE_BUILD_TYPE} MATCHES "Debug")
# set(CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY TRUE)
# set(CMAKE_INSTALL_DEBUG_LIBRARIES TRUE)
# set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
# endif()
#
# cpack_add_component_group(PciedriverAll
# DISPLAY_NAME "pcieDriver drivers, headers and libraries"
# )
# include(InstallRequiredSystemLibraries)
#
# cpack_add_component(Pciedriver
# DISPLAY_NAME "pcieDriver drivers, headers and libraries"
# GROUP PciedriverAll
# INSTALL_TYPES FullDriver
# )
# set(CPACK_GENERATOR "DEB")
#
# cpack_add_install_type(FullDriver
# DISPLAY_NAME "Full drivers, headers and libraries"
# )
# set(CPACK_DEB_COMPONENT_INSTALL ON)
# set(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS ON)
# set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=")
# set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
# set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
# set(CPACK_RPM_COMPONENT_INSTALL ON)
# set(CPACK_RPM_PACKAGE_AUTOREQ no)
# set(CPACK_RPM_PACKAGE_AUTOPROV yes)
# set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
# /lib
# /usr/etc
# /etc/systemd
# /lib/systemd
# /etc/systemd/system
# /lib/systemd/system
# /etc/udev
# /etc/udev/rules.d
# )
# set(CPACK_PACKAGE_VENDOR "LNLS")
# set(CPACK_PACKAGE_CONTACT "Lucas Russo <[email protected]>")
#
# include(CPack)
#
# cpack_add_component_group(PciedriverAll
# DISPLAY_NAME "pcieDriver drivers, headers and libraries"
# )
#
# cpack_add_component(Pciedriver
# DISPLAY_NAME "pcieDriver drivers, headers and libraries"
# GROUP PciedriverAll
# INSTALL_TYPES FullDriver
# )
#
# cpack_add_install_type(FullDriver
# DISPLAY_NAME "Full drivers, headers and libraries"
# )
#
# endif()

endif()
99 changes: 52 additions & 47 deletions examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -494,55 +494,60 @@ endforeach()
option(ENABLE_CPACK "Enables cpack rules" ON)

if(ENABLE_CPACK)
if(${CMAKE_BUILD_TYPE} MATCHES "Debug")
set(CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY TRUE)
set(CMAKE_INSTALL_DEBUG_LIBRARIES TRUE)
set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
endif()
if(CMAKE_CURRENT_BINARY_DIR STREQUAL CMAKE_BINARY_DIR)
if(${CMAKE_BUILD_TYPE} MATCHES "Debug")
set(CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY TRUE)
set(CMAKE_INSTALL_DEBUG_LIBRARIES TRUE)
set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
endif()

include(InstallRequiredSystemLibraries)

# set architecture as detected by TargetArch module
set(arch_name ${ARCH})

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_BINARY_DIR})
set(CPACK_GENERATOR "DEB")
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=")
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
set(CPACK_RPM_PACKAGE_AUTOREQ no)
set(CPACK_RPM_PACKAGE_AUTOPROV yes)
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
/lib
/usr/etc
/etc/systemd
/lib/systemd
/etc/systemd/system
/lib/systemd/system
/etc/udev
/etc/udev/rules.d
)
set(CPACK_PACKAGE_NAME "halcs_examples")
set(halcs_examples_DISTRO_VERSION "" CACHE STRING "halcs_examples distribution version")
string(APPEND halcs_examples_VERSION "${halcs_examples_DISTRO_VERSION}")
set(CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_NAME}_${halcs_examples_VERSION}_${arch_name}"
)
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "SDB filesystem library")
set(CPACK_PACKAGE_VENDOR "LNLS")
set(CPACK_PACKAGE_CONTACT "Lucas Russo <[email protected]>")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_BINARY_DIR}/COPYING.txt")
# set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_BINARY_DIR}/README.txt")
# set(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_CURRENT_BINARY_DIR}/WELCOME.txt")
# set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/branding.bmp")
set(CPACK_PACKAGE_VERSION ${halcs_examples_VERSION})
set(CPACK_PACKAGE_VERSION_MAJOR ${halcs_examples_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${halcs_examples_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${halcs_examples_VERSION_PATCH})
# set(CPACK_PACKAGE_INSTALL_DIRECTORY "HALCS examples Install Directory")
# set(CPACK_TEMPORARY_DIRECTORY "HALCS examples Temporary CPack Directory")
include(InstallRequiredSystemLibraries)

# set architecture as detected by TargetArch module
set(arch_name ${ARCH})

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_BINARY_DIR})
set(CPACK_GENERATOR "DEB")
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=")
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
# Generate debuginfo package
set(CPACK_DEBIAN_DEBUGINFO_PACKAGE ON)
set(CPACK_RPM_PACKAGE_AUTOREQ no)
set(CPACK_RPM_PACKAGE_AUTOPROV yes)
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
/lib
/usr/etc
/etc/systemd
/lib/systemd
/etc/systemd/system
/lib/systemd/system
/etc/udev
/etc/udev/rules.d
)
set(CPACK_PACKAGE_NAME "halcs_examples")
set(halcs_examples_DISTRO_VERSION "" CACHE STRING "halcs_examples distribution version")
string(APPEND halcs_examples_VERSION "${halcs_examples_DISTRO_VERSION}")
set(CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_NAME}_${halcs_examples_VERSION}_${arch_name}"
)
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "SDB filesystem library")
set(CPACK_PACKAGE_VENDOR "LNLS")
set(CPACK_PACKAGE_CONTACT "Lucas Russo <[email protected]>")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_BINARY_DIR}/COPYING.txt")
# set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_BINARY_DIR}/README.txt")
# set(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_CURRENT_BINARY_DIR}/WELCOME.txt")
# set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/branding.bmp")
set(CPACK_PACKAGE_VERSION ${halcs_examples_VERSION})
set(CPACK_PACKAGE_VERSION_MAJOR ${halcs_examples_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${halcs_examples_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${halcs_examples_VERSION_PATCH})
# set(CPACK_PACKAGE_INSTALL_DIRECTORY "HALCS examples Install Directory")
# set(CPACK_TEMPORARY_DIRECTORY "HALCS examples Temporary CPack Directory")
# Generate debuginfo package
set(CPACK_RPM_DEBUGINFO_PACKAGE ON)
set(CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX "/usr/src/debug/${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")

if(CMAKE_CURRENT_BINARY_DIR STREQUAL CMAKE_BINARY_DIR)
include(CPack)

cpack_add_component_group(Development
Expand Down
101 changes: 53 additions & 48 deletions libs/acqclient/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -492,55 +492,60 @@ endif()
option(ENABLE_CPACK "Enables cpack rules" ON)

if(ENABLE_CPACK)
if(${CMAKE_BUILD_TYPE} MATCHES "Debug")
set(CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY TRUE)
set(CMAKE_INSTALL_DEBUG_LIBRARIES TRUE)
set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
endif()

include(InstallRequiredSystemLibraries)

# set architecture as detected by TargetArch module
set(arch_name ${ARCH})

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_BINARY_DIR})
set(CPACK_GENERATOR "DEB")
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=")
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
set(CPACK_RPM_PACKAGE_AUTOREQ no)
set(CPACK_RPM_PACKAGE_AUTOPROV yes)
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
/lib
/usr/etc
/etc/systemd
/lib/systemd
/etc/systemd/system
/lib/systemd/system
/etc/udev
/etc/udev/rules.d
)
set(CPACK_PACKAGE_NAME "acqclient")
set(acqclient_DISTRO_VERSION "" CACHE STRING "acqclient distribution version")
string(APPEND acqclient_VERSION "${acqclient_DISTRO_VERSION}")
set(CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_NAME}_${acqclient_VERSION}_${arch_name}"
)
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "HALCS acquisition library")
set(CPACK_PACKAGE_VENDOR "LNLS")
set(CPACK_PACKAGE_CONTACT "Lucas Russo <[email protected]>")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_BINARY_DIR}/COPYING.txt")
# set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_BINARY_DIR}/README.txt")
# set(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_CURRENT_BINARY_DIR}/WELCOME.txt")
# set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/branding.bmp")
set(CPACK_PACKAGE_VERSION ${acqclient_VERSION})
set(CPACK_PACKAGE_VERSION_MAJOR ${acqclient_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${acqclient_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${acqclient_VERSION_PATCH})
# set(CPACK_PACKAGE_INSTALL_DIRECTORY "acqclient Install Directory")
# set(CPACK_TEMPORARY_DIRECTORY "acqclient Temporary CPack Directory")

if(CMAKE_CURRENT_BINARY_DIR STREQUAL CMAKE_BINARY_DIR)
if(${CMAKE_BUILD_TYPE} MATCHES "Debug")
set(CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY TRUE)
set(CMAKE_INSTALL_DEBUG_LIBRARIES TRUE)
set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
endif()

include(InstallRequiredSystemLibraries)

# set architecture as detected by TargetArch module
set(arch_name ${ARCH})

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_BINARY_DIR})
set(CPACK_GENERATOR "DEB")
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=")
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
# Generate debuginfo package
set(CPACK_DEBIAN_DEBUGINFO_PACKAGE ON)
set(CPACK_RPM_PACKAGE_AUTOREQ no)
set(CPACK_RPM_PACKAGE_AUTOPROV yes)
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
/lib
/usr/etc
/etc/systemd
/lib/systemd
/etc/systemd/system
/lib/systemd/system
/etc/udev
/etc/udev/rules.d
)
set(CPACK_PACKAGE_NAME "acqclient")
set(acqclient_DISTRO_VERSION "" CACHE STRING "acqclient distribution version")
string(APPEND acqclient_VERSION "${acqclient_DISTRO_VERSION}")
set(CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_NAME}_${acqclient_VERSION}_${arch_name}"
)
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "HALCS acquisition library")
set(CPACK_PACKAGE_VENDOR "LNLS")
set(CPACK_PACKAGE_CONTACT "Lucas Russo <[email protected]>")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_BINARY_DIR}/COPYING.txt")
# set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_BINARY_DIR}/README.txt")
# set(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_CURRENT_BINARY_DIR}/WELCOME.txt")
# set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/branding.bmp")
set(CPACK_PACKAGE_VERSION ${acqclient_VERSION})
set(CPACK_PACKAGE_VERSION_MAJOR ${acqclient_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${acqclient_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${acqclient_VERSION_PATCH})
# set(CPACK_PACKAGE_INSTALL_DIRECTORY "acqclient Install Directory")
# set(CPACK_TEMPORARY_DIRECTORY "acqclient Temporary CPack Directory")
# Generate debuginfo package
set(CPACK_RPM_DEBUGINFO_PACKAGE ON)
set(CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX "/usr/src/debug/${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")

include(CPack)

cpack_add_component_group(Development
Expand Down
Loading

0 comments on commit 9dbaab6

Please sign in to comment.