From a91f1e509509b8cee8ad1277b5f0b183584284a5 Mon Sep 17 00:00:00 2001 From: Mihai Tudor Panu Date: Fri, 17 Jul 2015 16:46:17 -0700 Subject: [PATCH] cmake: enabled RPM packaging Signed-off-by: Mihai Tudor Panu --- CMakeLists.txt | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c93212c9..0f4002a0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,12 +53,13 @@ set (upm_VERSION_STRING ${upm_VERSION_MAJOR}.${upm_VERSION_MINOR}.${upm_VERSION_ set (CMAKE_SWIG_FLAGS "") -option (IPK "Generate IPK using CPack" OFF) option (BUILDDOC "Build all doc." OFF) option (BUILDSWIG "Build swig modules." ON) option (BUILDSWIGPYTHON "Build swig python modules." ON) option (BUILDSWIGNODE "Build swig node modules." ON) option (BUILDEXAMPLES "Build C++ example binaries" OFF) +option (IPK "Generate IPK using CPack" OFF) +option (RPM "Generate RPM using CPack" OFF) if (BUILDDOC) # add a target to generate API documentation with Doxygen @@ -147,6 +148,28 @@ if (IPK) include (CPack) endif() +if (RPM) + message (INFO " - Enabled RPM packaging for ${DETECTED_ARCH}") + set(CPACK_PACKAGE_VERSION ${VERSION}) + set(CPACK_GENERATOR "RPM") + set(CPACK_PACKAGE_NAME "libupm${upm_VERSION_MAJOR}") + set(CPACK_PACKAGE_RELEASE 1) + set(CPACK_PACKAGE_VERSION + "${upm_VERSION_MAJOR}.${upm_VERSION_MINOR}.${upm_VERSION_PATCH}${upm_PACKAGE_ON_TAG}${VERSION_COMMIT}") + set(CPACK_PACKAGE_CONTACT "Intel IoT-Devkit") + set(CPACK_PACKAGE_VENDOR "Intel IoT-Devkit") + set(CPACK_RPM_PACKAGE_REQUIRES "libmraa0 (>= ${MRAA_VERSION})") + set(CPACK_RPM_PACKAGE_PROVIDES "${CPACK_PACKAGE_NAME}-devel") + EXECUTE_PROCESS(COMMAND rpm --showrc + COMMAND grep -E "dist[[:space:]]*\\." + COMMAND sed -e "s/^.*dist\\s*\\.//" + COMMAND tr \\n \\t + COMMAND sed -e s/\\t// + OUTPUT_VARIABLE DIST_TAG) + set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_PACKAGE_RELEASE}.${DIST_TAG}.${DETECTED_ARCH}") + include(CPack) +endif() + add_subdirectory (src) if(BUILDEXAMPLES)