Commit 21c134d1e7430c04d6888902685ba68bbc82f979
Committed by
David Gräff
1 parent
112cc8bd
Add rpm generation to the cpack script.
Showing
4 changed files
with
54 additions
and
21 deletions
CMakeLists.txt
| ... | ... | @@ -11,7 +11,7 @@ ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) |
| 11 | 11 | # Find external libraries |
| 12 | 12 | list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/") |
| 13 | 13 | |
| 14 | -INCLUDE_DIRECTORIES("." "/usr/local/include") | |
| 14 | +INCLUDE_DIRECTORIES(".") | |
| 15 | 15 | |
| 16 | 16 | # Use CPack to make deb/rpm/zip/exe installer packages |
| 17 | 17 | include(cmake/CPackInfos.cmake) | ... | ... |
cmake/CPackInfos.cmake
| ... | ... | @@ -5,10 +5,10 @@ |
| 5 | 5 | |
| 6 | 6 | find_package(Git QUIET) |
| 7 | 7 | |
| 8 | -if (GIT_EXECUTABLE AND EXISTS "../.git") | |
| 8 | +if (GIT_EXECUTABLE AND EXISTS "${CMAKE_SOURCE_DIR}/.git") | |
| 9 | 9 | execute_process( |
| 10 | 10 | COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD |
| 11 | - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | |
| 11 | + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} | |
| 12 | 12 | RESULT_VARIABLE CMD_RESULT |
| 13 | 13 | OUTPUT_VARIABLE VCS_REVISION |
| 14 | 14 | OUTPUT_STRIP_TRAILING_WHITESPACE |
| ... | ... | @@ -21,7 +21,7 @@ if(NOT DEFINED CMD_RESULT) |
| 21 | 21 | else() |
| 22 | 22 | execute_process( |
| 23 | 23 | COMMAND ${GIT_EXECUTABLE} status |
| 24 | - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | |
| 24 | + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} | |
| 25 | 25 | RESULT_VARIABLE CMD_RESULT |
| 26 | 26 | OUTPUT_VARIABLE DESCRIBE_STATUS |
| 27 | 27 | OUTPUT_STRIP_TRAILING_WHITESPACE |
| ... | ... | @@ -35,51 +35,87 @@ else() |
| 35 | 35 | |
| 36 | 36 | message(STATUS "Version: ${VCS_BRANCH}/${VCS_REVISION}") |
| 37 | 37 | |
| 38 | -execute_process( | |
| 39 | - COMMAND ${GIT_EXECUTABLE} config --get remote.origin.url | |
| 40 | - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | |
| 41 | - RESULT_VARIABLE CMD_RESULT | |
| 42 | - OUTPUT_VARIABLE VCS_URL | |
| 43 | - OUTPUT_STRIP_TRAILING_WHITESPACE | |
| 44 | - ) | |
| 38 | + execute_process( | |
| 39 | + COMMAND ${GIT_EXECUTABLE} config --get remote.origin.url | |
| 40 | + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | |
| 41 | + RESULT_VARIABLE CMD_RESULT | |
| 42 | + OUTPUT_VARIABLE VCS_URL | |
| 43 | + OUTPUT_STRIP_TRAILING_WHITESPACE | |
| 44 | + ) | |
| 45 | + | |
| 46 | + set(ENV{LANG} "en_US") | |
| 47 | + execute_process( | |
| 48 | + COMMAND ${GIT_EXECUTABLE} log -n 10 "--date=format:%a %b %d %Y" "--pretty=format:* %ad %aN <%aE> %h - %s" | |
| 49 | + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} | |
| 50 | + RESULT_VARIABLE CMD_RESULT | |
| 51 | + OUTPUT_VARIABLE CHANGELOG | |
| 52 | + OUTPUT_STRIP_TRAILING_WHITESPACE | |
| 53 | + ) | |
| 54 | + file(WRITE "${CMAKE_BINARY_DIR}/changelog" "${CHANGELOG}") | |
| 45 | 55 | endif() |
| 46 | 56 | |
| 47 | 57 | string(TIMESTAMP DATE_VERSION "%d.%m.%Y") |
| 48 | 58 | string(TIMESTAMP CURRENT_TIME "%d.%m.%Y %H:%M") |
| 49 | 59 | |
| 50 | 60 | if (UNIX) |
| 51 | - set(CPACK_GENERATOR ZIP STGZ) | |
| 61 | + set(CPACK_PACKAGING_INSTALL_PREFIX "/usr") | |
| 62 | + set(CPACK_GENERATOR STGZ) | |
| 52 | 63 | if (NOT APPLE) |
| 53 | - set(CPACK_GENERATOR ${CPACK_GENERATOR} DEB) | |
| 64 | + set(CPACK_GENERATOR ${CPACK_GENERATOR} ZIP) | |
| 65 | + find_program(LSB_RELEASE lsb_release) | |
| 66 | + execute_process(COMMAND ${LSB_RELEASE} -is | |
| 67 | + OUTPUT_VARIABLE LSB_RELEASE_ID_SHORT | |
| 68 | + OUTPUT_STRIP_TRAILING_WHITESPACE | |
| 69 | + ) | |
| 70 | + if (LSB_RELEASE_ID_SHORT MATCHES "Ubuntu") | |
| 71 | + set(CPACK_GENERATOR ${CPACK_GENERATOR} DEB) | |
| 72 | + else() | |
| 73 | + set(CPACK_GENERATOR ${CPACK_GENERATOR} RPM) | |
| 74 | + endif() | |
| 54 | 75 | endif() |
| 55 | 76 | elseif(WIN32) |
| 56 | - set(CPACK_GENERATOR ZIP NSIS) | |
| 77 | + set(CPACK_GENERATOR NSIS) | |
| 57 | 78 | endif() |
| 58 | 79 | |
| 59 | 80 | set(CPACK_PACKAGE_NAME "${PROJECT_NAME}") |
| 60 | -set(CPACK_PACKAGE_VERSION "${DATE_VERSION}-${VCS_BRANCH}-${VCS_REVISION}") | |
| 81 | +string(TOLOWER ${CPACK_PACKAGE_NAME} CPACK_PACKAGE_NAME) | |
| 82 | +set(CPACK_PACKAGE_VERSION "${DATE_VERSION}_${VCS_REVISION}") | |
| 61 | 83 | set(CPACK_PACKAGE_CONTACT "contact@openhantek.org") |
| 62 | 84 | set(CPACK_PACKAGE_VENDOR "OpenHantek Community") |
| 63 | -set(CPACK_PACKAGE_DESCRIPTION "Digitial Oscilloscope for Hantek USB DSO hardware.") | |
| 64 | -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenHantek is a free software for Hantek (Voltcraft/Darkwire/Protek/Acetech) USB DSOs based on HantekDSO. Build on ${CURRENT_TIME} from ${VCS_URL}. Branch ${VCS_BRANCH} has been used at commit ${VCS_REVISION}") | |
| 85 | +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Digital oscilloscope software for Hantek USB hardware") | |
| 86 | +set(CPACK_PACKAGE_DESCRIPTION "OpenHantek is an oscilloscope software for\nVoltcraft/Darkwire/Protek/Acetech/Hantek USB devices") | |
| 65 | 87 | set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/readme.md") |
| 66 | 88 | if (EXISTS "${CMAKE_SOURCE_DIR}/COPYING") |
| 67 | 89 | set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING") |
| 68 | 90 | endif() |
| 91 | + | |
| 92 | +# Linux DEB+RPM | |
| 69 | 93 | set(CPACK_DEBIAN_PACKAGE_SECTION "net") |
| 94 | +set(CPACK_ARCH) | |
| 70 | 95 | IF ((MSVC AND CMAKE_GENERATOR MATCHES "Win64+") OR (CMAKE_SIZEOF_VOID_P EQUAL 8)) |
| 71 | 96 | set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64") |
| 97 | + set(CPACK_RPM_PACKAGE_ARCHITECTURE "x86_64") | |
| 98 | + set(CPACK_ARCH "x86_64") | |
| 72 | 99 | else() |
| 73 | 100 | set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "i586") |
| 101 | + set(CPACK_RPM_PACKAGE_ARCHITECTURE "i586") | |
| 102 | + set(CPACK_ARCH "x86") | |
| 74 | 103 | endif() |
| 75 | 104 | set(CPACK_STRIP_FILES 1) |
| 76 | 105 | |
| 77 | 106 | include(CMakeDetermineSystem) |
| 78 | 107 | |
| 108 | +# Linux RPM | |
| 109 | +set(CPACK_RPM_PACKAGE_RELOCATABLE NO) | |
| 110 | +set(CPACK_RPM_PACKAGE_LICENSE "GPLv2+") | |
| 111 | +set(CPACK_RPM_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION}) | |
| 112 | +set(CPACK_RPM_PACKAGE_REQUIRES "qt5-qtbase-gui%{?_isa} >= 5.4, qt5-qttranslations%{?_isa}") | |
| 113 | +set(CPACK_RPM_CHANGELOG_FILE "${CMAKE_BINARY_DIR}/changelog") | |
| 114 | + | |
| 79 | 115 | set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".") |
| 80 | 116 | |
| 81 | 117 | set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0) |
| 82 | -set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CMAKE_SYSTEM_NAME}") | |
| 118 | +set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-1.${CPACK_ARCH}") | |
| 83 | 119 | set(CPACK_PACKAGE_INSTALL_DIRECTORY ".") |
| 84 | 120 | SET(CPACK_OUTPUT_FILE_PREFIX packages) |
| 85 | 121 | ... | ... |
openhantek/CMakeLists.txt
| ... | ... | @@ -25,7 +25,6 @@ add_custom_target(format SOURCES ".clang-format" |
| 25 | 25 | COMMAND "clang-format" "-style=file" "-i" "-sort-includes" ${SRC} ${HEADERS}) |
| 26 | 26 | |
| 27 | 27 | add_subdirectory(translations) |
| 28 | -add_subdirectory(res) | |
| 29 | 28 | |
| 30 | 29 | add_definitions(-DVERSION="${CPACK_PACKAGE_VERSION}") |
| 31 | 30 | ... | ... |
openhantek/res/CMakeLists.txt deleted