[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