Установить имя пакета RPM в соответствии с версией, используя CMAKE/CPack

Я хочу сгенерировать RPM-файл, а затем улучшить версию, используя сборочную машину.

Что я хочу сделать, это бежать cpack -R "100.0.4d" или похожая мода

Взамен получить файл rpm: myapp-100.0.4d.rpm,

Это для поддержки автоматической генерации версий, поэтому я построил следующее CMakeLists.txt:

PROJECT (myapp)
SET (APPLICATION_NAME "MYAPP")
SET (APPLICATION_CODENAME "${PROJECT_NAME}")
SET (APPLICATION_COPYRIGHT_YEARS "2018")
SET (APPLICATION_VERSION_MAJOR "100")
SET (APPLICATION_VERSION_MINOR "0")
SET (APPLICATION_VERSION_PATCH "1")
SET (APPLICATION_VERSION_TYPE DS1)
SET (APPLICATION_VERSION_STRING "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}-${APPLICATION_VERSION_TYPE}")

...
#
# CPack Generic
#

SET(CPACK_PACKAGE_VERSION_MAJOR "1")
SET(CPACK_PACKAGE_VERSION_MINOR "1")
SET(CPACK_PACKAGE_VERSION_PATCH "1")

SET(CPACK_PACKAGE_NAME "myapp")
SET(CPACK_PACKAGE_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "my app servers")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
SET(CPACK_PACKAGE_VENDOR "${APPLICATION_VENDOR_NAME}")
SET(CPACK_PACKAGE_URL "${APPLICATION_VENDOR_URL}")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md")
SET(CPACK_SOURCE_GENERATOR "RPM")
SET(CPACK_RPM_PACKAGE_ARCHITECTURE "x86_64")
SET(CPACK_RPM_COMPRESSION_TYPE "gzip")
SET(CPACK_GENERATOR "RPM")

С помощью cpack -R только устанавливает версию пакета rpm, но не меняет имя файла.

Я пытался с помощью cpack -D изменить CPACK_PACKAGE_VERSION_*, APPLICATION_VERSION_* без изменений.

Как это может быть достигнуто?

0 ответов

Другие вопросы по тегам