xref: /aosp_15_r20/external/flatbuffers/CMake/PackageRedhat.cmake (revision 890232f25432b36107d06881e0a25aaa6b473652)
1*890232f2SAndroid Build Coastguard Workerif (UNIX)
2*890232f2SAndroid Build Coastguard Worker    set(CPACK_GENERATOR "RPM")
3*890232f2SAndroid Build Coastguard Worker    set(CPACK_SOURCE_TGZ "ON")
4*890232f2SAndroid Build Coastguard Worker
5*890232f2SAndroid Build Coastguard Worker    set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "FlatBuffers serialization library and schema compiler.")
6*890232f2SAndroid Build Coastguard Worker
7*890232f2SAndroid Build Coastguard Worker    set(CPACK_RPM_PACKAGE_HOMEPAGE "https://github.com/google/flatbuffers")
8*890232f2SAndroid Build Coastguard Worker    set(CPACK_RPM_PACKAGE_MAINTAINER "Marc Butler <[email protected]>")
9*890232f2SAndroid Build Coastguard Worker
10*890232f2SAndroid Build Coastguard Worker    set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
11*890232f2SAndroid Build Coastguard Worker    set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
12*890232f2SAndroid Build Coastguard Worker    set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
13*890232f2SAndroid Build Coastguard Worker    set(CPACK_PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}-${VERSION_COMMIT}")
14*890232f2SAndroid Build Coastguard Worker    set(CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}")
15*890232f2SAndroid Build Coastguard Worker
16*890232f2SAndroid Build Coastguard Worker    set(CPACK_RPM_PACKAGE_NAME "flatbuffers")
17*890232f2SAndroid Build Coastguard Worker
18*890232f2SAndroid Build Coastguard Worker    # Assume this is not a cross complation build.
19*890232f2SAndroid Build Coastguard Worker    if(NOT CPACK_RPM_PACKAGE_ARCHITECTURE)
20*890232f2SAndroid Build Coastguard Worker        set(CPACK_RPM_PACKAGE_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}")
21*890232f2SAndroid Build Coastguard Worker    endif(NOT CPACK_RPM_PACKAGE_ARCHITECTURE)
22*890232f2SAndroid Build Coastguard Worker
23*890232f2SAndroid Build Coastguard Worker    set(CPACK_RPM_PACKAGE_VENDOR "Google, Inc.")
24*890232f2SAndroid Build Coastguard Worker    set(CPACK_RPM_PACKAGE_LICENSE "Apache 2.0")
25*890232f2SAndroid Build Coastguard Worker    set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE.txt)
26*890232f2SAndroid Build Coastguard Worker    set(CPACK_PACKAGE_DESCRIPTION_FILE ${CMAKE_SOURCE_DIR}/CMake/DESCRIPTION.txt)
27*890232f2SAndroid Build Coastguard Worker
28*890232f2SAndroid Build Coastguard Worker    # This may reduce rpm compatiblity with very old systems.
29*890232f2SAndroid Build Coastguard Worker    set(CPACK_RPM_COMPRESSION_TYPE lzma)
30*890232f2SAndroid Build Coastguard Worker
31*890232f2SAndroid Build Coastguard Worker    set(CPACK_RPM_PACKAGE_NAME "flatbuffers")
32*890232f2SAndroid Build Coastguard Worker    set(CPACK_PACKAGE_FILE_NAME
33*890232f2SAndroid Build Coastguard Worker        "${CPACK_RPM_PACKAGE_NAME}_${CPACK_RPM_PACKAGE_VERSION}_${CPACK_RPM_PACKAGE_ARCHITECTURE}")
34*890232f2SAndroid Build Coastguard Worker    if(NOT DEFINED ${CPACK_PACKAGING_INSTALL_PREFIX})
35*890232f2SAndroid Build Coastguard Worker       # Default packaging install prefix on RedHat systems is /usr.
36*890232f2SAndroid Build Coastguard Worker       # This is the assumed value when this variable is not defined.
37*890232f2SAndroid Build Coastguard Worker       # There is currently a conflict with
38*890232f2SAndroid Build Coastguard Worker       # /usr/${CMAKE_INSTALL_LIBDIR}/cmake which is installed by default
39*890232f2SAndroid Build Coastguard Worker       # by other packages on RedHat (most notably cmake-filesystem). Ensure
40*890232f2SAndroid Build Coastguard Worker       # that on these systems, flatbuffers does not package this path.
41*890232f2SAndroid Build Coastguard Worker       # This patch is required for cmake pre-3.17.
42*890232f2SAndroid Build Coastguard Worker       list(APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/usr/${CMAKE_INSTALL_LIBDIR}/cmake")
43*890232f2SAndroid Build Coastguard Worker   endif()
44*890232f2SAndroid Build Coastguard Workerendif(UNIX)
45