[cmake-developers] [PATCH 2/3] CPackRPM: Support rpm architecture in components
Joshua A Clayton
stillcompiling at gmail.com
Thu Feb 19 03:01:15 EST 2015
CPACK_RPM_<component>_PACKAGE_ARCHITECTURE variable allows
the same project to support packages of different architectures
including noarch, native and foreign architectures.
---
Modules/CPackRPM.cmake | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index 5135893..485c586 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -51,6 +51,7 @@
# * Default : CPACK_PACKAGE_VERSION
#
# .. variable:: CPACK_RPM_PACKAGE_ARCHITECTURE
+# CPACK_RPM_<component>_PACKAGE_ARCHITECTURE
#
# The RPM package architecture.
#
@@ -629,6 +630,16 @@ else()
message("CPackRPM:Debug: using user-specified build arch = ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
endif()
endif()
+#prefer component architecture
+unset(CPACK_RPM_PACKAGE_ARCHITECTURE_)
+if(CPACK_RPM_PACKAGE_COMPONENT)
+ if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_ARCHITECTURE)
+ set(CPACK_RPM_PACKAGE_ARCHITECTURE_ ${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_ARCHITECTURE})
+ if(CPACK_RPM_PACKAGE_DEBUG)
+ message("CPackRPM:Debug: using component build arch = ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
+ endif()
+ endif()
+endif()
if (NOT CPACK_RPM_PACKAGE_ARCHITECTURE_)
set(CPACK_RPM_PACKAGE_ARCHITECTURE_ ${CPACK_RPM_PACKAGE_ARCHITECTURE})
endif()
--
2.2.2
More information about the cmake-developers
mailing list