Test creating rpms of type "noarch", native, and "armv7hf"
---
 Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in | 6 ++++++
 Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake            | 8 ++++++++
 2 files changed, 14 insertions(+)

diff --git a/Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in 
b/Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in
index de0ee46..c2ac1c5 100644
--- a/Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in
+++ b/Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in
@@ -8,9 +8,15 @@ endif()
 if(CPACK_GENERATOR MATCHES "RPM")
   set(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
 
+  # test a "noarch" rpm
+  set(CPACK_RPM_headers_PACKAGE_ARCHITECTURE "noarch")
+
   set(CPACK_RPM_COMPONENT_INSTALL "ON")
   set(CPACK_RPM_applications_PACKAGE_REQUIRES "mylib-libraries")
 
+  # test cross-built rpm
+  set(CPACK_RPM_applications_PACKAGE_ARCHITECTURE "armv7hf")
+
   # test package summary override
   set(CPACK_RPM_PACKAGE_SUMMARY "default summary")
   set(CPACK_RPM_libraries_PACKAGE_SUMMARY "libraries summary")
diff --git a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake 
b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
index 68d846f..5be9d17 100644
--- a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
+++ b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
@@ -161,21 +161,25 @@ if(CPackGen MATCHES "RPM")
         set(check_file_match_expected_summary 
".*${CPACK_RPM_libraries_PACKAGE_SUMMARY}.*")
         set(check_file_match_expected_description 
".*${CPACK_RPM_libraries_PACKAGE_DESCRIPTION}.*")
         set(check_file_match_expected_relocation_path "Relocations : 
${CPACK_PACKAGING_INSTALL_PREFIX} 
${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+        set(check_file_match_expected_architecture "Architecture: 
${CPACK_RPM_applications_PACKAGE_ARCHITECTURE}")
         set(spec_regex "*libraries*")
       elseif(check_file_headers_match)
         set(check_file_match_expected_summary 
".*${CPACK_RPM_PACKAGE_SUMMARY}.*")
         set(check_file_match_expected_description 
".*${CPACK_COMPONENT_HEADERS_DESCRIPTION}.*")
         set(check_file_match_expected_relocation_path "Relocations : 
${CPACK_PACKAGING_INSTALL_PREFIX} 
${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
+        set(check_file_match_expected_architecture "Architecture: 
${CPACK_RPM_libraries_PACKAGE_ARCHITECTURE}")
         set(spec_regex "*headers*")
       elseif(check_file_applications_match)
         set(check_file_match_expected_summary 
".*${CPACK_RPM_PACKAGE_SUMMARY}.*")
         set(check_file_match_expected_description 
".*${CPACK_COMPONENT_APPLICATIONS_DESCRIPTION}.*")
         set(check_file_match_expected_relocation_path "Relocations : 
${CPACK_PACKAGING_INSTALL_PREFIX} 
${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}")
+        set(check_file_match_expected_architecture "Architecture: 
${CPACK_RPM_headers_PACKAGE_ARCHITECTURE}")
         set(spec_regex "*applications*")
       elseif(check_file_Unspecified_match)
         set(check_file_match_expected_summary 
".*${CPACK_RPM_PACKAGE_SUMMARY}.*")
         set(check_file_match_expected_description ".*DESCRIPTION.*")
         set(check_file_match_expected_relocation_path "Relocations : 
${CPACK_PACKAGING_INSTALL_PREFIX} 
${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}")
+        set(check_file_match_expected_architecture "Architecture: 
${CPACK_RPM_Unspecified_PACKAGE_ARCHITECTURE}")
         set(spec_regex "*Unspecified*")
       else()
         message(FATAL_ERROR "error: unexpected rpm package '${check_file}'")
@@ -204,6 +208,10 @@ if(CPackGen MATCHES "RPM")
 
         message(FATAL_ERROR "error: '${check_file}' rpm package relocation 
path does not match expected value - regex 
'${check_file_match_expected_relocation_path}'; RPM output: 
'${check_file_content}'; generated spec file: '${spec_file_content}'")
       endif()
+      string(REGEX MATCH ${check_file_match_expected_architecture} 
check_file_match_architecture ${check_file_content})
+      if (NOT check_file_match_architecture)
+          message(FATAL_ERROR "error: '${check_file}' Architecture does not 
match expected value - '${check_file_match_expected_architecture}'; RPM output: 
'${check_file_content}'; generated spec file: '${spec_file_content}'")
+      endif()
     endforeach()
   elseif(${CPackComponentWay} STREQUAL "IgnoreGroup")
   endif()
-- 
2.2.2

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to