mirror of
https://github.com/curl/curl.git
synced 2026-07-26 18:07:16 +03:00
cmake: do not install shell completions when BUILD_CURL_EXE=OFF
Follow-up to 74542c1f4b #21459
Closes #21460
This commit is contained in:
parent
74542c1f4b
commit
f485f5e031
1 changed files with 46 additions and 44 deletions
|
|
@ -22,57 +22,59 @@
|
|||
#
|
||||
###########################################################################
|
||||
|
||||
option(CURL_COMPLETION_FISH "Install fish completions" OFF)
|
||||
option(CURL_COMPLETION_ZSH "Install zsh completions" OFF)
|
||||
if(BUILD_CURL_EXE)
|
||||
option(CURL_COMPLETION_FISH "Install fish completions" OFF)
|
||||
option(CURL_COMPLETION_ZSH "Install zsh completions" OFF)
|
||||
|
||||
if(CURL_COMPLETION_FISH OR
|
||||
CURL_COMPLETION_ZSH)
|
||||
if(Perl_FOUND)
|
||||
if(CURL_COMPLETION_FISH)
|
||||
set(_completion_fish "${CMAKE_CURRENT_BINARY_DIR}/curl.fish")
|
||||
add_custom_command(OUTPUT "${_completion_fish}"
|
||||
COMMAND "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/completion.pl"
|
||||
--opts-dir "${PROJECT_SOURCE_DIR}/docs/cmdline-opts" --shell fish > "${_completion_fish}"
|
||||
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/completion.pl"
|
||||
VERBATIM
|
||||
)
|
||||
add_custom_target("curl-completion-fish" ALL DEPENDS "${_completion_fish}")
|
||||
endif()
|
||||
|
||||
if(CURL_COMPLETION_ZSH)
|
||||
set(_completion_zsh "${CMAKE_CURRENT_BINARY_DIR}/_curl")
|
||||
add_custom_command(OUTPUT "${_completion_zsh}"
|
||||
COMMAND "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/completion.pl"
|
||||
--opts-dir "${PROJECT_SOURCE_DIR}/docs/cmdline-opts" --shell zsh > "${_completion_zsh}"
|
||||
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/completion.pl"
|
||||
VERBATIM
|
||||
)
|
||||
add_custom_target("curl-completion-zsh" ALL DEPENDS "${_completion_zsh}")
|
||||
endif()
|
||||
|
||||
if(NOT CURL_DISABLE_INSTALL)
|
||||
if(CURL_COMPLETION_FISH OR
|
||||
CURL_COMPLETION_ZSH)
|
||||
if(Perl_FOUND)
|
||||
if(CURL_COMPLETION_FISH)
|
||||
if(NOT CURL_COMPLETION_FISH_DIR AND NOT CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_get_variable(CURL_COMPLETION_FISH_DIR "fish" "completionsdir")
|
||||
endif()
|
||||
if(NOT CURL_COMPLETION_FISH_DIR AND CMAKE_INSTALL_DATAROOTDIR)
|
||||
set(CURL_COMPLETION_FISH_DIR "${CMAKE_INSTALL_DATAROOTDIR}/fish/vendor_completions.d")
|
||||
endif()
|
||||
if(CURL_COMPLETION_FISH_DIR)
|
||||
install(FILES "${_completion_fish}" DESTINATION "${CURL_COMPLETION_FISH_DIR}")
|
||||
endif()
|
||||
set(_completion_fish "${CMAKE_CURRENT_BINARY_DIR}/curl.fish")
|
||||
add_custom_command(OUTPUT "${_completion_fish}"
|
||||
COMMAND "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/completion.pl"
|
||||
--opts-dir "${PROJECT_SOURCE_DIR}/docs/cmdline-opts" --shell fish > "${_completion_fish}"
|
||||
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/completion.pl"
|
||||
VERBATIM
|
||||
)
|
||||
add_custom_target("curl-completion-fish" ALL DEPENDS "${_completion_fish}")
|
||||
endif()
|
||||
|
||||
if(CURL_COMPLETION_ZSH)
|
||||
if(NOT CURL_COMPLETION_ZSH_DIR AND CMAKE_INSTALL_DATAROOTDIR)
|
||||
set(CURL_COMPLETION_ZSH_DIR "${CMAKE_INSTALL_DATAROOTDIR}/zsh/site-functions")
|
||||
set(_completion_zsh "${CMAKE_CURRENT_BINARY_DIR}/_curl")
|
||||
add_custom_command(OUTPUT "${_completion_zsh}"
|
||||
COMMAND "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/completion.pl"
|
||||
--opts-dir "${PROJECT_SOURCE_DIR}/docs/cmdline-opts" --shell zsh > "${_completion_zsh}"
|
||||
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/completion.pl"
|
||||
VERBATIM
|
||||
)
|
||||
add_custom_target("curl-completion-zsh" ALL DEPENDS "${_completion_zsh}")
|
||||
endif()
|
||||
|
||||
if(NOT CURL_DISABLE_INSTALL)
|
||||
if(CURL_COMPLETION_FISH)
|
||||
if(NOT CURL_COMPLETION_FISH_DIR AND NOT CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_get_variable(CURL_COMPLETION_FISH_DIR "fish" "completionsdir")
|
||||
endif()
|
||||
if(NOT CURL_COMPLETION_FISH_DIR AND CMAKE_INSTALL_DATAROOTDIR)
|
||||
set(CURL_COMPLETION_FISH_DIR "${CMAKE_INSTALL_DATAROOTDIR}/fish/vendor_completions.d")
|
||||
endif()
|
||||
if(CURL_COMPLETION_FISH_DIR)
|
||||
install(FILES "${_completion_fish}" DESTINATION "${CURL_COMPLETION_FISH_DIR}")
|
||||
endif()
|
||||
endif()
|
||||
if(CURL_COMPLETION_ZSH_DIR)
|
||||
install(FILES "${_completion_zsh}" DESTINATION "${CURL_COMPLETION_ZSH_DIR}")
|
||||
if(CURL_COMPLETION_ZSH)
|
||||
if(NOT CURL_COMPLETION_ZSH_DIR AND CMAKE_INSTALL_DATAROOTDIR)
|
||||
set(CURL_COMPLETION_ZSH_DIR "${CMAKE_INSTALL_DATAROOTDIR}/zsh/site-functions")
|
||||
endif()
|
||||
if(CURL_COMPLETION_ZSH_DIR)
|
||||
install(FILES "${_completion_zsh}" DESTINATION "${CURL_COMPLETION_ZSH_DIR}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
message(WARNING "No perl: cannot generate completion script")
|
||||
endif()
|
||||
else()
|
||||
message(WARNING "No perl: cannot generate completion script")
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue