[Cmake-commits] CMake branch, next, updated. v3.7.1-1851-g6d47003
Domen Vrankar
domen.vrankar at gmail.com
Fri Dec 23 17:41:54 EST 2016
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 6d47003d339c0be17efe467fe06bc97294479e73 (commit)
via 4227f29a67b30f2512af767c785559ce14cabe70 (commit)
via 26265218e2ca78135f128e80e5ff71adaf5677a8 (commit)
from 6bfcb004e409915032522b831124b758b1ba5403 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6d47003d339c0be17efe467fe06bc97294479e73
commit 6d47003d339c0be17efe467fe06bc97294479e73
Merge: 6bfcb00 4227f29
Author: Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Fri Dec 23 17:41:52 2016 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Dec 23 17:41:52 2016 -0500
Merge topic 'cpack-rpm-user-bin-spec-file-fix' into next
4227f29a CPack custom binary spec file handling fix
26265218 CPack test additional std out/err regex file overloads
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4227f29a67b30f2512af767c785559ce14cabe70
commit 4227f29a67b30f2512af767c785559ce14cabe70
Author: Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Fri Dec 23 23:28:30 2016 +0100
Commit: Domen Vrankar <domen.vrankar at gmail.com>
CommitDate: Fri Dec 23 23:40:34 2016 +0100
CPack custom binary spec file handling fix
Fixes #16507
diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index 5021c41..e1bcb48 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -2470,11 +2470,12 @@ Vendor: \@CPACK_RPM_PACKAGE_VENDOR\@
endforeach()
endif()
+ set(RPMBUILD_FLAGS "-bb")
+
# We should generate a USER spec file template:
# - either because the user asked for it : CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
# - or the user did not provide one : NOT CPACK_RPM_USER_BINARY_SPECFILE
if(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE OR NOT CPACK_RPM_USER_BINARY_SPECFILE)
- set(RPMBUILD_FLAGS "-bb")
file(WRITE ${CPACK_RPM_BINARY_SPECFILE}.in
"# -*- rpm-spec -*-
diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake
index 3077340..d550ec7 100644
--- a/Tests/RunCMake/CPack/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake
@@ -4,6 +4,7 @@ include(RunCMake)
include("${RunCMake_SOURCE_DIR}/CPackTestHelpers.cmake")
# run_cpack_test args: TEST_NAME "GENERATORS" RUN_CMAKE_BUILD_STEP "PACKAGING_TYPES"
+run_cpack_test(CUSTOM_BINARY_SPEC_FILE "RPM" false "MONOLITHIC;COMPONENT")
run_cpack_test(CUSTOM_NAMES "RPM;DEB" true "COMPONENT")
run_cpack_test(DEBUGINFO "RPM" true "COMPONENT")
run_cpack_test(DEPENDENCIES "RPM;DEB" true "COMPONENT")
diff --git a/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/ExpectedFiles.cmake b/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/ExpectedFiles.cmake
new file mode 100644
index 0000000..694dc00
--- /dev/null
+++ b/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/ExpectedFiles.cmake
@@ -0,0 +1,9 @@
+set(EXPECTED_FILES_COUNT "1")
+set(EXPECTED_FILE_CONTENT_1_LIST "/usr;/usr/foo;/usr/foo/CMakeLists.txt")
+
+if(PACKAGING_TYPE STREQUAL "COMPONENT")
+ set(EXPECTED_FILES_COUNT "2")
+ set(EXPECTED_FILE_1_COMPONENT "test")
+ set(EXPECTED_FILE_2_COMPONENT "test2")
+ set(EXPECTED_FILE_CONTENT_2_LIST "/usr;/usr/bar;/usr/bar/CMakeLists.txt")
+endif()
diff --git a/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/RPM-COMPONENT-stderr.txt b/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/RPM-COMPONENT-stderr.txt
new file mode 100644
index 0000000..e6d86d0
--- /dev/null
+++ b/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/RPM-COMPONENT-stderr.txt
@@ -0,0 +1,2 @@
+^CPackRPM: Will use USER specified spec file: (/[^/]*)*/CUSTOM_BINARY_SPEC_FILE/custom\.spec\.in
+CPackRPM: Will use GENERATED spec file:.*/Tests/RunCMake/RPM/CPack/CUSTOM_BINARY_SPEC_FILE-build/_CPack_Packages/.*/RPM/SPECS/custom_binary_spec_file-test2\.spec$
diff --git a/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/RPM-MONOLITHIC-stderr.txt b/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/RPM-MONOLITHIC-stderr.txt
new file mode 100644
index 0000000..d7bb7af
--- /dev/null
+++ b/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/RPM-MONOLITHIC-stderr.txt
@@ -0,0 +1 @@
+CPackRPM: Will use USER specified spec file: (/[^/]*)*/CUSTOM_BINARY_SPEC_FILE/custom\.spec\.in
diff --git a/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/custom.spec.in b/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/custom.spec.in
new file mode 100644
index 0000000..db0ac6f
--- /dev/null
+++ b/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/custom.spec.in
@@ -0,0 +1,80 @@
+# -*- rpm-spec -*-
+BuildRoot: %_topdir/@CPACK_PACKAGE_FILE_NAME@@CPACK_RPM_PACKAGE_COMPONENT_PART_PATH@
+Summary: @CPACK_RPM_PACKAGE_SUMMARY@
+Name: @CPACK_RPM_PACKAGE_NAME@
+Version: @CPACK_RPM_PACKAGE_VERSION@
+Release: @CPACK_RPM_PACKAGE_RELEASE@
+License: @CPACK_RPM_PACKAGE_LICENSE@
+Group: @CPACK_RPM_PACKAGE_GROUP@
+Vendor: @CPACK_RPM_PACKAGE_VENDOR@
+
+ at TMP_RPM_URL@
+ at TMP_RPM_REQUIRES@
+ at TMP_RPM_REQUIRES_PRE@
+ at TMP_RPM_REQUIRES_POST@
+ at TMP_RPM_REQUIRES_PREUN@
+ at TMP_RPM_REQUIRES_POSTUN@
+ at TMP_RPM_PROVIDES@
+ at TMP_RPM_OBSOLETES@
+ at TMP_RPM_CONFLICTS@
+ at TMP_RPM_SUGGESTS@
+ at TMP_RPM_AUTOPROV@
+ at TMP_RPM_AUTOREQ@
+ at TMP_RPM_AUTOREQPROV@
+ at TMP_RPM_BUILDARCH@
+ at TMP_RPM_PREFIXES@
+
+ at TMP_RPM_DEBUGINFO@
+
+%define _rpmdir %_topdir/RPMS
+%define _srcrpmdir %_topdir/SRPMS
+ at FILE_NAME_DEFINE@
+%define _unpackaged_files_terminate_build 0
+ at TMP_RPM_SPEC_INSTALL_POST@
+ at CPACK_RPM_SPEC_MORE_DEFINE@
+ at CPACK_RPM_COMPRESSION_TYPE_TMP@
+
+%description
+ at CPACK_RPM_PACKAGE_DESCRIPTION@
+
+# This is a shortcutted spec file generated by CMake RPM generator
+# we skip _install step because CPack does that for us.
+# We do only save CPack installed tree in _prepr
+# and then restore it in build.
+%prep
+mv $RPM_BUILD_ROOT %_topdir/tmpBBroot
+
+%install
+if [ -e $RPM_BUILD_ROOT ];
+then
+ rm -rf $RPM_BUILD_ROOT
+fi
+mv %_topdir/tmpBBroot $RPM_BUILD_ROOT
+
+ at TMP_RPM_DEBUGINFO_INSTALL@
+
+%clean
+
+%post
+ at RPM_SYMLINK_POSTINSTALL@
+ at CPACK_RPM_SPEC_POSTINSTALL@
+
+%postun
+ at CPACK_RPM_SPEC_POSTUNINSTALL@
+
+%pre
+ at CPACK_RPM_SPEC_PREINSTALL@
+
+%preun
+ at CPACK_RPM_SPEC_PREUNINSTALL@
+
+%files
+%defattr(@TMP_DEFAULT_FILE_PERMISSIONS@, at TMP_DEFAULT_USER@, at TMP_DEFAULT_GROUP@, at TMP_DEFAULT_DIR_PERMISSIONS@)
+ at CPACK_RPM_INSTALL_FILES@
+ at CPACK_RPM_ABSOLUTE_INSTALL_FILES@
+ at CPACK_RPM_USER_INSTALL_FILES@
+
+%changelog
+ at CPACK_RPM_SPEC_CHANGELOG@
+
+ at TMP_OTHER_COMPONENTS@
diff --git a/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/test.cmake b/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/test.cmake
new file mode 100644
index 0000000..a604863
--- /dev/null
+++ b/Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/test.cmake
@@ -0,0 +1,9 @@
+install(FILES CMakeLists.txt DESTINATION foo COMPONENT test)
+
+if(PACKAGING_TYPE STREQUAL "MONOLITHIC")
+ set(CPACK_RPM_USER_BINARY_SPECFILE "${CMAKE_CURRENT_LIST_DIR}/custom.spec.in")
+elseif(PACKAGING_TYPE STREQUAL "COMPONENT")
+ install(FILES CMakeLists.txt DESTINATION bar COMPONENT test2)
+ set(CPACK_RPM_TEST_USER_BINARY_SPECFILE
+ "${CMAKE_CURRENT_LIST_DIR}/custom.spec.in")
+endif()
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=26265218e2ca78135f128e80e5ff71adaf5677a8
commit 26265218e2ca78135f128e80e5ff71adaf5677a8
Author: Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Fri Dec 23 23:26:45 2016 +0100
Commit: Domen Vrankar <domen.vrankar at gmail.com>
CommitDate: Fri Dec 23 23:32:19 2016 +0100
CPack test additional std out/err regex file overloads
Added std out/std err expected regex file name
overloads for packaging type.
diff --git a/Tests/RunCMake/CPack/CPackTestHelpers.cmake b/Tests/RunCMake/CPack/CPackTestHelpers.cmake
index 89da610..f883c69 100644
--- a/Tests/RunCMake/CPack/CPackTestHelpers.cmake
+++ b/Tests/RunCMake/CPack/CPackTestHelpers.cmake
@@ -60,7 +60,11 @@ function(run_cpack_test_common_ TEST_NAME types build SUBTEST_SUFFIX source PACK
)
foreach(o out err)
- if(SUBTEST_SUFFIX AND EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${TEST_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt)
+ if(SUBTEST_SUFFIX AND EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${TEST_TYPE}-${PACKAGING_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt)
+ set(RunCMake-std${o}-file "tests/${TEST_NAME}/${TEST_TYPE}-${PACKAGING_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt")
+ elseif(EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${TEST_TYPE}-${PACKAGING_TYPE}-std${o}.txt)
+ set(RunCMake-std${o}-file "tests/${TEST_NAME}/${TEST_TYPE}-${PACKAGING_TYPE}-std${o}.txt")
+ elseif(SUBTEST_SUFFIX AND EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${TEST_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt)
set(RunCMake-std${o}-file "tests/${TEST_NAME}/${TEST_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt")
elseif(EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${TEST_TYPE}-std${o}.txt)
set(RunCMake-std${o}-file "tests/${TEST_NAME}/${TEST_TYPE}-std${o}.txt")
diff --git a/Tests/RunCMake/CPack/README.txt b/Tests/RunCMake/CPack/README.txt
index f51d254..7c98f69 100644
--- a/Tests/RunCMake/CPack/README.txt
+++ b/Tests/RunCMake/CPack/README.txt
@@ -155,8 +155,18 @@ VerifyResult.cmake script also automatically prints out standard output and
standard error from CPack execution phase that is compared with
'<test_name>/<generator_name>-stdout.txt' regular expression and
and '<test_name>/<generator_name>-stderr.txt' regular expresson respectively.
-NOTE: For subtests generator name can also be suffixed with subtest name and in
- such case subtest file is preferred.
+NOTE: For subtests generator name can also be suffixed with subtest name and/or
+ packaging type (MONOLITHIC, COMPONENT, GROUP) and in such cases the
+ preferences of which file will be used are as follows:
+ - generator name + packaging type + subtest name
+ - generator name + packaging type
+ - generator name + subtest name
+ - generator name
+ - default generator
+ File name format: '<generator_name>-<packaging_type>-<subtest_name>-std<type>.txt'
+ where <type> can either be 'out' or 'err'.
+ File name format: '<generator_name>-<packaging_type>-std<type>.txt'
+ where <type> can either be 'out' or 'err'.
File name format: '<generator_name>-<subtest_name>-std<type>.txt' where
<type> can either be 'out' or 'err'.
NOTE: If none of the comparison files are present then the default generator
@@ -223,3 +233,4 @@ To add a new generator we must
- if needed add 'default_expected_std<type>.txt' files where <type> is either
'out' or 'err' which will contain default expected output of package
generation regular expression.
+- add generator to list of other CPack generators in RunCMake/CMakeLists.txt
-----------------------------------------------------------------------
Summary of changes:
Modules/CPackRPM.cmake | 3 +-
Tests/RunCMake/CPack/CPackTestHelpers.cmake | 6 +-
Tests/RunCMake/CPack/README.txt | 15 +++-
Tests/RunCMake/CPack/RunCMakeTest.cmake | 1 +
.../CUSTOM_BINARY_SPEC_FILE/ExpectedFiles.cmake | 9 +++
.../RPM-COMPONENT-stderr.txt | 2 +
.../RPM-MONOLITHIC-stderr.txt | 1 +
.../tests/CUSTOM_BINARY_SPEC_FILE/custom.spec.in | 80 ++++++++++++++++++++
.../CPack/tests/CUSTOM_BINARY_SPEC_FILE/test.cmake | 9 +++
9 files changed, 122 insertions(+), 4 deletions(-)
create mode 100644 Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/ExpectedFiles.cmake
create mode 100644 Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/RPM-COMPONENT-stderr.txt
create mode 100644 Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/RPM-MONOLITHIC-stderr.txt
create mode 100644 Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/custom.spec.in
create mode 100644 Tests/RunCMake/CPack/tests/CUSTOM_BINARY_SPEC_FILE/test.cmake
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list