Tests: CPack test merge generator specifics

Merge test generator specifics into
test itself.
This commit is contained in:
Domen Vrankar
2016-11-26 20:08:25 +01:00
parent 0f15aee799
commit 6d51bea4e6
21 changed files with 127 additions and 104 deletions

View File

@@ -7,10 +7,5 @@ string(TOLOWER "${RunCMake_TEST_FILE_PREFIX}" CPACK_PACKAGE_NAME)
include(tests/${RunCMake_TEST_FILE_PREFIX}/test.cmake)
# include test generator specifics
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${GENERATOR_TYPE}/${RunCMake_TEST_FILE_PREFIX}-specifics.cmake")
include("${GENERATOR_TYPE}/${RunCMake_TEST_FILE_PREFIX}-specifics.cmake")
endif()
set(CPACK_GENERATOR "${GENERATOR_TYPE}")
include(CPack)

View File

@@ -1,3 +0,0 @@
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEB_COMPONENT_INSTALL "ON")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")

View File

@@ -1,6 +0,0 @@
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEB_COMPONENT_INSTALL "ON")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
set(CPACK_DEBIAN_PKG_2_PACKAGE_NAME "second")
set(CPACK_DEBIAN_PKG_3_FILE_NAME "pkg_3_abc.deb")

View File

@@ -1,23 +0,0 @@
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEB_COMPONENT_INSTALL "ON")
#intentionaly commented out to test old file naming
#set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
# false by default
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS FALSE)
# FIXME can not be tested as libraries first have to be part of a package in order
# to determine their dependencies and we can not be certain if there will be any
set(CPACK_DEBIAN_APPLICATIONS_AUTO_PACKAGE_SHLIBDEPS TRUE)
foreach(dependency_type_ DEPENDS CONFLICTS PREDEPENDS ENHANCES BREAKS REPLACES RECOMMENDS SUGGESTS)
string(TOLOWER "${dependency_type_}" lower_dependency_type_)
set(CPACK_DEBIAN_PACKAGE_${dependency_type_} "${lower_dependency_type_}-default, ${lower_dependency_type_}-default-b")
set(CPACK_DEBIAN_APPLICATIONS_PACKAGE_${dependency_type_} "${lower_dependency_type_}-application, ${lower_dependency_type_}-application-b")
set(CPACK_DEBIAN_APPLICATIONS_AUTO_PACKAGE_${dependency_type_} "${lower_dependency_type_}-application, ${lower_dependency_type_}-application-b")
set(CPACK_DEBIAN_HEADERS_PACKAGE_${dependency_type_} "${lower_dependency_type_}-headers")
endforeach()
set(CPACK_DEBIAN_PACKAGE_PROVIDES "provided-default, provided-default-b")
set(CPACK_DEBIAN_LIBS_PACKAGE_PROVIDES "provided-lib")
set(CPACK_DEBIAN_LIBS_AUTO_PACKAGE_PROVIDES "provided-lib_auto, provided-lib_auto-b")

View File

@@ -1,2 +0,0 @@
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")

View File

@@ -1,3 +0,0 @@
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
set(CPACK_DEBIAN_ARCHIVE_TYPE "gnutar")

View File

@@ -1,2 +0,0 @@
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")

View File

@@ -1,7 +0,0 @@
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEB_COMPONENT_INSTALL "ON")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
set(CPACK_DEBIAN_PACKAGE_SECTION "default")
set(CPACK_DEBIAN_PKG_2_PACKAGE_NAME "second")
set(CPACK_DEBIAN_PKG_2_PACKAGE_SECTION "second_group")

View File

@@ -1,5 +0,0 @@
set(CPACK_RPM_COMPONENT_INSTALL "ON")
set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
set(CPACK_RPM_PKG_2_PACKAGE_NAME "second")
set(CPACK_RPM_PKG_3_FILE_NAME "pkg_3_abc.rpm")

View File

@@ -1,22 +0,0 @@
set(CPACK_RPM_COMPONENT_INSTALL "ON")
# FIXME auto autoprov is not tested at the moment as Ubuntu 15.04 rpmbuild
# does not use them correctly: https://bugs.launchpad.net/rpm/+bug/1475755
set(CPACK_RPM_PACKAGE_AUTOREQ "no")
set(CPACK_RPM_PACKAGE_AUTOPROV "no")
set(CPACK_RPM_APPLICATIONS_AUTO_PACKAGE_AUTOREQPROV "yes")
set(CPACK_RPM_LIBS_AUTO_PACKAGE_AUTOREQPROV "yes")
set(CPACK_RPM_PACKAGE_REQUIRES "depend-default, depend-default-b")
set(CPACK_RPM_APPLICATIONS_PACKAGE_REQUIRES "depend-application, depend-application-b")
set(CPACK_RPM_APPLICATIONS_AUTO_PACKAGE_REQUIRES "depend-application, depend-application-b")
set(CPACK_RPM_HEADERS_PACKAGE_REQUIRES "depend-headers")
set(CPACK_RPM_PACKAGE_CONFLICTS "conflict-default, conflict-default-b")
set(CPACK_RPM_APPLICATIONS_PACKAGE_CONFLICTS "conflict-application, conflict-application-b")
set(CPACK_RPM_APPLICATIONS_AUTO_PACKAGE_CONFLICTS "conflict-application, conflict-application-b")
set(CPACK_RPM_HEADERS_PACKAGE_CONFLICTS "conflict-headers")
set(CPACK_RPM_PACKAGE_PROVIDES "provided-default, provided-default-b")
set(CPACK_RPM_LIBS_PACKAGE_PROVIDES "provided-lib")
set(CPACK_RPM_LIBS_AUTO_PACKAGE_PROVIDES "provided-lib_auto, provided-lib_auto-b")

View File

@@ -1,19 +0,0 @@
set(CPACK_RPM_COMPONENT_INSTALL "ON")
set(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/pre_install.sh")
set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/post_install.sh")
set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/pre_uninstall.sh")
set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/post_uninstall.sh")
set(CPACK_RPM_foo_PRE_INSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/pre_install_foo.sh")
set(CPACK_RPM_foo_POST_INSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/post_install_foo.sh")
set(CPACK_RPM_foo_PRE_UNINSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/pre_uninstall_foo.sh")
set(CPACK_RPM_foo_POST_UNINSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/post_uninstall_foo.sh")

View File

@@ -1,5 +0,0 @@
set(CPACK_RPM_COMPONENT_INSTALL "ON")
set(CPACK_RPM_PACKAGE_GROUP "default")
set(CPACK_RPM_PKG_2_PACKAGE_NAME "second")
set(CPACK_RPM_PKG_2_PACKAGE_GROUP "second_group")

View File

@@ -1 +0,0 @@
set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON")

View File

@@ -1,3 +1,13 @@
if(GENERATOR_TYPE STREQUAL "DEB")
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEB_COMPONENT_INSTALL "ON")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
elseif(GENERATOR_TYPE STREQUAL "RPM")
set(CPACK_RPM_COMPONENT_INSTALL "ON")
elseif(GENERATOR_TYPE STREQUAL "TGZ")
set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON")
endif()
set(CPACK_COMPONENTS_ALL test)
install(DIRECTORY DESTINATION empty
COMPONENT test)

View File

@@ -1,4 +1,17 @@
set(CPACK_RPM_COMPONENT_INSTALL "ON")
if(GENERATOR_TYPE STREQUAL "DEB")
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEB_COMPONENT_INSTALL "ON")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
set(CPACK_DEBIAN_PKG_2_PACKAGE_NAME "second")
set(CPACK_DEBIAN_PKG_3_FILE_NAME "pkg_3_abc.deb")
elseif(GENERATOR_TYPE STREQUAL "RPM")
set(CPACK_RPM_COMPONENT_INSTALL "ON")
set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
set(CPACK_RPM_PKG_2_PACKAGE_NAME "second")
set(CPACK_RPM_PKG_3_FILE_NAME "pkg_3_abc.rpm")
endif()
install(FILES CMakeLists.txt DESTINATION foo COMPONENT pkg_1)
install(FILES CMakeLists.txt DESTINATION foo COMPONENT pkg_2)

View File

@@ -1,3 +1,52 @@
if(GENERATOR_TYPE STREQUAL "DEB")
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEB_COMPONENT_INSTALL "ON")
#intentionaly commented out to test old file naming
#set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
# false by default
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS FALSE)
# FIXME can not be tested as libraries first have to be part of a package in order
# to determine their dependencies and we can not be certain if there will be any
set(CPACK_DEBIAN_APPLICATIONS_AUTO_PACKAGE_SHLIBDEPS TRUE)
foreach(dependency_type_ DEPENDS CONFLICTS PREDEPENDS ENHANCES BREAKS REPLACES RECOMMENDS SUGGESTS)
string(TOLOWER "${dependency_type_}" lower_dependency_type_)
set(CPACK_DEBIAN_PACKAGE_${dependency_type_} "${lower_dependency_type_}-default, ${lower_dependency_type_}-default-b")
set(CPACK_DEBIAN_APPLICATIONS_PACKAGE_${dependency_type_} "${lower_dependency_type_}-application, ${lower_dependency_type_}-application-b")
set(CPACK_DEBIAN_APPLICATIONS_AUTO_PACKAGE_${dependency_type_} "${lower_dependency_type_}-application, ${lower_dependency_type_}-application-b")
set(CPACK_DEBIAN_HEADERS_PACKAGE_${dependency_type_} "${lower_dependency_type_}-headers")
endforeach()
set(CPACK_DEBIAN_PACKAGE_PROVIDES "provided-default, provided-default-b")
set(CPACK_DEBIAN_LIBS_PACKAGE_PROVIDES "provided-lib")
set(CPACK_DEBIAN_LIBS_AUTO_PACKAGE_PROVIDES "provided-lib_auto, provided-lib_auto-b")
elseif(GENERATOR_TYPE STREQUAL "RPM")
set(CPACK_RPM_COMPONENT_INSTALL "ON")
# FIXME auto autoprov is not tested at the moment as Ubuntu 15.04 rpmbuild
# does not use them correctly: https://bugs.launchpad.net/rpm/+bug/1475755
set(CPACK_RPM_PACKAGE_AUTOREQ "no")
set(CPACK_RPM_PACKAGE_AUTOPROV "no")
set(CPACK_RPM_APPLICATIONS_AUTO_PACKAGE_AUTOREQPROV "yes")
set(CPACK_RPM_LIBS_AUTO_PACKAGE_AUTOREQPROV "yes")
set(CPACK_RPM_PACKAGE_REQUIRES "depend-default, depend-default-b")
set(CPACK_RPM_APPLICATIONS_PACKAGE_REQUIRES "depend-application, depend-application-b")
set(CPACK_RPM_APPLICATIONS_AUTO_PACKAGE_REQUIRES "depend-application, depend-application-b")
set(CPACK_RPM_HEADERS_PACKAGE_REQUIRES "depend-headers")
set(CPACK_RPM_PACKAGE_CONFLICTS "conflict-default, conflict-default-b")
set(CPACK_RPM_APPLICATIONS_PACKAGE_CONFLICTS "conflict-application, conflict-application-b")
set(CPACK_RPM_APPLICATIONS_AUTO_PACKAGE_CONFLICTS "conflict-application, conflict-application-b")
set(CPACK_RPM_HEADERS_PACKAGE_CONFLICTS "conflict-headers")
set(CPACK_RPM_PACKAGE_PROVIDES "provided-default, provided-default-b")
set(CPACK_RPM_LIBS_PACKAGE_PROVIDES "provided-lib")
set(CPACK_RPM_LIBS_AUTO_PACKAGE_PROVIDES "provided-lib_auto, provided-lib_auto-b")
endif()
set(CMAKE_BUILD_WITH_INSTALL_RPATH 1)
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/test_lib.hpp"

View File

@@ -1,2 +1,7 @@
if(GENERATOR_TYPE STREQUAL "DEB")
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
endif()
install(DIRECTORY DESTINATION empty
COMPONENT test)

View File

@@ -1,3 +1,25 @@
if(GENERATOR_TYPE STREQUAL "RPM")
set(CPACK_RPM_COMPONENT_INSTALL "ON")
set(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/pre_install.sh")
set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/post_install.sh")
set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/pre_uninstall.sh")
set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/post_uninstall.sh")
set(CPACK_RPM_foo_PRE_INSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/pre_install_foo.sh")
set(CPACK_RPM_foo_POST_INSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/post_install_foo.sh")
set(CPACK_RPM_foo_PRE_UNINSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/pre_uninstall_foo.sh")
set(CPACK_RPM_foo_POST_UNINSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_BINARY_DIR}/post_uninstall_foo.sh")
endif()
set(CMAKE_BUILD_WITH_INSTALL_RPATH 1)
# default

View File

@@ -1,3 +1,9 @@
if(GENERATOR_TYPE STREQUAL "DEB")
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
set(CPACK_DEBIAN_ARCHIVE_TYPE "gnutar")
endif()
set(LONG_FILENAME
"${CMAKE_CURRENT_BINARY_DIR}/llllllllll_oooooooooo_nnnnnnnnnn_gggggggggg_ffffffffff_iiiiiiiiii_llllllllll_eeeeeeeeee_nnnnnnnnnn_aaaaaaaaaa_mmmmmmmmmm_eeeeeeeeee.txt")

View File

@@ -1 +1,6 @@
if(GENERATOR_TYPE STREQUAL "DEB")
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
endif()
install(FILES CMakeLists.txt DESTINATION foo COMPONENT test)

View File

@@ -1,3 +1,19 @@
if(GENERATOR_TYPE STREQUAL "DEB")
set(CPACK_PACKAGE_CONTACT "someone")
set(CPACK_DEB_COMPONENT_INSTALL "ON")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
set(CPACK_DEBIAN_PACKAGE_SECTION "default")
set(CPACK_DEBIAN_PKG_2_PACKAGE_NAME "second")
set(CPACK_DEBIAN_PKG_2_PACKAGE_SECTION "second_group")
elseif(GENERATOR_TYPE STREQUAL "RPM")
set(CPACK_RPM_COMPONENT_INSTALL "ON")
set(CPACK_RPM_PACKAGE_GROUP "default")
set(CPACK_RPM_PKG_2_PACKAGE_NAME "second")
set(CPACK_RPM_PKG_2_PACKAGE_GROUP "second_group")
endif()
install(FILES CMakeLists.txt DESTINATION foo COMPONENT pkg_1)
install(FILES CMakeLists.txt DESTINATION foo COMPONENT pkg_2)
install(FILES CMakeLists.txt DESTINATION foo COMPONENT pkg_3)