cmake: do not install shell completions when `BUILD_CURL_EXE=OFF`
No binary (build failed)
—
(log yok)
| @@ -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() | |