WSJT-X/debian/CMakeLists.txt
Bill Somerville 859a5ef416 Make install locations configuration variables
Locations  of various  components  to be  determined at  configuration
time.   This  allows   various   "Standard"  system   layouts  to   be
accomodated. For example on FreeBSD the manpages are usually installed
in the man directory i.e. /usr/local/man whereas the WSJT-X default is
to install them in share/man i.e. /usr/share/man. By setting the CMake
variable  WSJT_MANPAGE_DESTINATION to  either a  relative or  absolute
path the install location can be set:

  $ cmake -D WSJT_MANPAGE_DESTINATION=. ...

will install the manpages at ${CMAKE_INSTALL_PREFIX}/man

The new configuration variables are:

 WSJT_BIN_DESTINATION
 WSJT_LIB_DESTINATION
 WSJT_SHARE_DESTINATION
 WSJT_DOC_DESTINATION
 WSJT_DATA_DESTINATION
 WSJT_MANPAGE_DESTINATION
 WSJT_PLUGIN_DESTINATION
 WSJT_QT_CONF_DESTINATION

NB: changes to the above may break WSJT-X at present where the install
    locations of files used directly by WSJT-X are moved.

Warning: using absolute  paths for these variables  is not recommended
as files may be installed  in unexpected places, particularly when run
with  root  privileges.  All  relative   paths  with  be  relative  to
CMAKE_INSTALL_PREFIX.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6192 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-26 19:45:10 +00:00

40 lines
1.2 KiB
CMake

find_program (GZIP_EXECUTABLE NAMES gzip)
string (TIMESTAMP ts "%w, %d [%m] %Y %H:%M:%S +0000" UTC)
set (__days Sun Mon Tue Wed Thu Fri Sat)
string (SUBSTRING ${ts} 0 1 __index)
list (GET __days ${__index} __day)
string (REPLACE "${__index}," "${__day}," ts ${ts})
set (__months Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
string (SUBSTRING ${ts} 9 2 __month_index)
math (EXPR __index "${__month_index} - 1")
list (GET __months "${__index}" __month)
string (REPLACE "[${__month_index}]" "${__month}" ts ${ts})
set (deb_changelog changelog.Debian)
configure_file (
"${CMAKE_CURRENT_SOURCE_DIR}/${deb_changelog}.in"
"${CMAKE_CURRENT_BINARY_DIR}/${deb_changelog}"
@ONLY)
add_custom_target (debian
COMMAND ${GZIP_EXECUTABLE} -cf9 ${deb_changelog} > ${deb_changelog}.gz
DEPENDS ${deb_changelog}.in
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Compressing Debian changelog"
)
configure_file (
"${CMAKE_CURRENT_SOURCE_DIR}/copyright.in"
"${CMAKE_CURRENT_BINARY_DIR}/copyright"
@ONLY)
install (FILES
${CMAKE_CURRENT_BINARY_DIR}/${deb_changelog}.gz
${CMAKE_CURRENT_BINARY_DIR}/copyright
DESTINATION ${WSJT_DOC_DESTINATION}
#COMPONENT Debian
)