mirror of https://git.tukaani.org/xz.git
CMake: Add xz symlinks.
These are a minor thing especially since the xz build has some real problems still like lack of large file support on 32-bit systems but I'll commit this since the code exists. Thanks to Jia Tan.
This commit is contained in:
parent
3523b6ebb5
commit
5875a45be0
|
@ -13,7 +13,6 @@
|
||||||
# - No replacement getopt_long(), libc must have it
|
# - No replacement getopt_long(), libc must have it
|
||||||
# - No sandboxing support
|
# - No sandboxing support
|
||||||
# - No translations
|
# - No translations
|
||||||
# - No xz symlinks are installed
|
|
||||||
#
|
#
|
||||||
# Other missing things:
|
# Other missing things:
|
||||||
# - No xzgrep or other scripts or their symlinks
|
# - No xzgrep or other scripts or their symlinks
|
||||||
|
@ -682,5 +681,42 @@ if(NOT MSVC AND HAVE_GETOPT_LONG)
|
||||||
install(FILES src/xz/xz.1
|
install(FILES src/xz/xz.1
|
||||||
DESTINATION "${CMAKE_INSTALL_MANDIR}/man1"
|
DESTINATION "${CMAKE_INSTALL_MANDIR}/man1"
|
||||||
COMPONENT xz)
|
COMPONENT xz)
|
||||||
|
|
||||||
|
option(CREATE_XZ_SYMLINKS "Create unxz and xzcat symlinks" ON)
|
||||||
|
option(CREATE_LZMA_SYMLINKS "Create lzma, unlzma, and lzcat symlinks"
|
||||||
|
ON)
|
||||||
|
set(XZ_LINKS)
|
||||||
|
|
||||||
|
if(CREATE_XZ_SYMLINKS)
|
||||||
|
list(APPEND XZ_LINKS "unxz" "xzcat")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CREATE_LZMA_SYMLINKS)
|
||||||
|
list(APPEND XZ_LINKS "lzma" "unlzma" "lzcat")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Create symlinks in the build directory and then install them.
|
||||||
|
#
|
||||||
|
# FIXME? On OSes where executables have a suffix like .exe, this
|
||||||
|
# will create links like unxz -> xz.exe which is correct on Cygwin
|
||||||
|
# but perhaps on some other cases unxz.suffix -> xz.suffix would
|
||||||
|
# be the corrent thing?
|
||||||
|
foreach(LINK IN LISTS XZ_LINKS)
|
||||||
|
add_custom_target("${LINK}" ALL
|
||||||
|
"${CMAKE_COMMAND}" -E create_symlink
|
||||||
|
"$<TARGET_FILE_NAME:xz>" "${LINK}"
|
||||||
|
BYPRODUCTS "${LINK}"
|
||||||
|
VERBATIM)
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${LINK}"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
COMPONENT xz)
|
||||||
|
add_custom_target("${LINK}.1" ALL
|
||||||
|
"${CMAKE_COMMAND}" -E create_symlink "xz.1" "${LINK}.1"
|
||||||
|
BYPRODUCTS "${LINK}.1"
|
||||||
|
VERBATIM)
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${LINK}.1"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_MANDIR}/man1"
|
||||||
|
COMPONENT xz)
|
||||||
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
Loading…
Reference in New Issue