← Commit list

f485f5e031

Viktor Szakats
Viktor Szakats
2026-04-27
SUCCESS Duration: 245s

Subject

cmake: do not install shell completions when `BUILD_CURL_EXE=OFF`

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

scripts/CMakeLists.txt+46 -44
@@ -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()