mirror of
https://github.com/clangen/musikcube.git
synced 2024-11-19 11:10:52 +00:00
4f44829cda
* Update minimum CMake version requirement to get rid of warning. * Include CMake compile commands for easier diagnostics. * More improvements to arm toolchain selection while cross-compiling third-party dependencies. * Use x-tools provided cmake toolchains * Add a script to download and extract deb dependencies for crosscompile. * Link against libstdc++ statically when cross-compiling to ARM to improve portability. * Update GeneratePackage.cmake to generate better filenames. * Ensure symbols are stripped properly when cross-compiling * Remove old scripts that are no longer required * Add script to install x-tools * Add some docs that describe how to setup a crosscompile environment. * Add docs for building standlone on Linux * Update CHANGELOG * Update version hash.
76 lines
3.7 KiB
CMake
76 lines
3.7 KiB
CMake
if (${GENERATE_DEB} MATCHES "true" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
if (${BUILD_STANDALONE} MATCHES "true")
|
|
set(CPACK_PACKAGE_FILE_NAME "musikcube_linux_${musikcube_VERSION}_${PACKAGE_ARCHITECTURE}")
|
|
else()
|
|
set(DEB_MICROHTTPD_VERSION "10")
|
|
set(DEB_LIBCURL_VERSION "3")
|
|
set(DEB_AVUTIL_VERSION "55")
|
|
set(DEB_AVFORMAT_VERSION "57")
|
|
set(DEB_SWRESAMPLE_VERSION "2")
|
|
set(DEB_NCURSES_VERSION "5")
|
|
if (DEB_DISTRO MATCHES "buster")
|
|
set(DEB_MICROHTTPD_VERSION "12")
|
|
set(DEB_LIBCURL_VERSION "4")
|
|
set(DEB_AVUTIL_VERSION "56")
|
|
set(DEB_AVFORMAT_VERSION "58")
|
|
set(DEB_SWRESAMPLE_VERSION "3")
|
|
elseif (DEB_DISTRO MATCHES "bionic")
|
|
set(DEB_MICROHTTPD_VERSION "12")
|
|
set(DEB_LIBCURL_VERSION "4")
|
|
elseif (DEB_DISTRO MATCHES "focal" OR DEB_DISTRO MATCHES "una")
|
|
set(DEB_MICROHTTPD_VERSION "12")
|
|
set(DEB_LIBCURL_VERSION "4")
|
|
set(DEB_AVUTIL_VERSION "56")
|
|
set(DEB_AVFORMAT_VERSION "58")
|
|
set(DEB_SWRESAMPLE_VERSION "3")
|
|
set(DEB_NCURSES_VERSION "6")
|
|
elseif (DEB_DISTRO MATCHES "hirsute")
|
|
set(DEB_MICROHTTPD_VERSION "12")
|
|
set(DEB_LIBCURL_VERSION "4")
|
|
set(DEB_AVUTIL_VERSION "56")
|
|
set(DEB_AVFORMAT_VERSION "58")
|
|
set(DEB_SWRESAMPLE_VERSION "3")
|
|
set(DEB_NCURSES_VERSION "6")
|
|
elseif (DEB_DISTRO MATCHES "impish" OR DEB_DISTRO MATCHES "bullseye")
|
|
set(DEB_MICROHTTPD_VERSION "12")
|
|
set(DEB_LIBCURL_VERSION "4")
|
|
set(DEB_AVUTIL_VERSION "56")
|
|
set(DEB_AVFORMAT_VERSION "58")
|
|
set(DEB_SWRESAMPLE_VERSION "3")
|
|
set(DEB_NCURSES_VERSION "6")
|
|
endif()
|
|
|
|
set(DEPENDENCIES "libmicrohttpd${DEB_MICROHTTPD_VERSION}, libcurl${DEB_LIBCURL_VERSION}, libogg0, libvorbis0a, libvorbisfile3, libncursesw${DEB_NCURSES_VERSION}, libasound2, libpulse0, pulseaudio, libmp3lame0, libev4, libopenmpt0, libssl1.1")
|
|
set(DEPENDENCIES "${DEPENDENCIES}, libtag1v5, libavcodec-extra, libavutil${DEB_AVUTIL_VERSION}, libavformat${DEB_AVFORMAT_VERSION}, libswresample${DEB_SWRESAMPLE_VERSION}")
|
|
|
|
set(CPACK_PACKAGE_FILE_NAME "musikcube_linux_${musikcube_VERSION}_${DEB_PLATFORM}_${DEB_DISTRO}_${PACKAGE_ARCHITECTURE}")
|
|
set(CPACK_DEBIAN_PACKAGE_DEPENDS ${DEPENDENCIES})
|
|
set(CPACK_RPM_PACKAGE_REQUIRES "libogg, libvorbis, ffmpeg-libs, ncurses, zlib, alsa-lib, pulseaudio-libs, openssl, libcurl, libmicrohttpd, lame, libev, taglib, libopenmpt")
|
|
endif()
|
|
|
|
set(CPACK_GENERATOR "DEB" "RPM")
|
|
|
|
set(CPACK_PACKAGE_DESCRIPTION "musikcube, a terminal-based music player and library")
|
|
set(CPACK_PACKAGE_VERSION_MAJOR "${musikcube_VERSION_MAJOR}")
|
|
set(CPACK_PACKAGE_VERSION_MINOR "${musikcube_VERSION_MINOR}")
|
|
set(CPACK_PACKAGE_VERSION_PATCH "${musikcube_VERSION_PATCH}")
|
|
|
|
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "casey langen")
|
|
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${PACKAGE_ARCHITECTURE})
|
|
set(CPACK_DEBIAN_FILE_NAME "musikcube_${musikcube_VERSION_MAJOR}.${musikcube_VERSION_MINOR}.${musikcube_VERSION_PATCH}_${FRIENDLY_ARCHITECTURE_NAME}.deb")
|
|
|
|
set(CPACK_RPM_PACKAGE_LICENSE "BSD-3-Clause")
|
|
set(CPACK_RPM_PACKAGE_URL "https://www.musikcube.com")
|
|
set(CPACK_RPM_PACKAGE_VERSION "${musikcube_VERSION_MAJOR}.${musikcube_VERSION_MINOR}.${musikcube_VERSION_PATCH}")
|
|
set(CPACK_RPM_REQUIRES_EXCLUDE_FROM "^/.*$")
|
|
set(CPACK_RPM_FILE_NAME "musikcube_${musikcube_VERSION_MAJOR}.${musikcube_VERSION_MINOR}.${musikcube_VERSION_PATCH}_${FRIENDLY_ARCHITECTURE_NAME}.rpm")
|
|
if (${PACKAGE_ARCHITECTURE} MATCHES "amd64")
|
|
# debs use `amd64`, but rpm uses `x86_64`. both seem to agree on other architecture values.
|
|
message(STATUS "[GeneratePackage] ${BoldYellow}set RPM architecture to x86_64${ColorReset}")
|
|
set(CPACK_RPM_PACKAGE_ARCHITECTURE "x86_64")
|
|
else()
|
|
set(CPACK_RPM_PACKAGE_ARCHITECTURE ${PACKAGE_ARCHITECTURE})
|
|
endif()
|
|
|
|
include(CPack)
|
|
endif() |