Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/pkg
Path: blob/main/external/curl/scripts/CMakeLists.txt
2065 views
1
#***************************************************************************
2
# _ _ ____ _
3
# Project ___| | | | _ \| |
4
# / __| | | | |_) | |
5
# | (__| |_| | _ <| |___
6
# \___|\___/|_| \_\_____|
7
#
8
# Copyright (C) Viktor Szakats, et al.
9
#
10
# This software is licensed as described in the file COPYING, which
11
# you should have received as part of this distribution. The terms
12
# are also available at https://curl.se/docs/copyright.html.
13
#
14
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
15
# copies of the Software, and permit persons to whom the Software is
16
# furnished to do so, under the terms of the COPYING file.
17
#
18
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19
# KIND, either express or implied.
20
#
21
# SPDX-License-Identifier: curl
22
#
23
###########################################################################
24
25
option(CURL_COMPLETION_FISH "Install fish completions" OFF)
26
option(CURL_COMPLETION_ZSH "Install zsh completions" OFF)
27
28
if(CURL_COMPLETION_FISH OR
29
CURL_COMPLETION_ZSH)
30
if(PERL_FOUND)
31
if(CURL_COMPLETION_FISH)
32
set(_completion_fish "${CMAKE_CURRENT_BINARY_DIR}/curl.fish")
33
add_custom_command(OUTPUT "${_completion_fish}"
34
COMMAND "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/completion.pl"
35
--opts-dir "${PROJECT_SOURCE_DIR}/docs/cmdline-opts" --shell fish > "${_completion_fish}"
36
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/completion.pl"
37
VERBATIM
38
)
39
add_custom_target("curl-completion-fish" ALL DEPENDS "${_completion_fish}")
40
endif()
41
42
if(CURL_COMPLETION_ZSH)
43
set(_completion_zsh "${CMAKE_CURRENT_BINARY_DIR}/_curl")
44
add_custom_command(OUTPUT "${_completion_zsh}"
45
COMMAND "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/completion.pl"
46
--opts-dir "${PROJECT_SOURCE_DIR}/docs/cmdline-opts" --shell zsh > "${_completion_zsh}"
47
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/completion.pl"
48
VERBATIM
49
)
50
add_custom_target("curl-completion-zsh" ALL DEPENDS "${_completion_zsh}")
51
endif()
52
53
if(NOT CURL_DISABLE_INSTALL)
54
if(CURL_COMPLETION_FISH)
55
if(NOT CURL_COMPLETION_FISH_DIR AND NOT CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_INSTALL_PREFIX)
56
find_package(PkgConfig QUIET)
57
pkg_get_variable(CURL_COMPLETION_FISH_DIR "fish" "completionsdir")
58
endif()
59
if(NOT CURL_COMPLETION_FISH_DIR AND CMAKE_INSTALL_DATAROOTDIR)
60
set(CURL_COMPLETION_FISH_DIR "${CMAKE_INSTALL_DATAROOTDIR}/fish/vendor_completions.d")
61
endif()
62
if(CURL_COMPLETION_FISH_DIR)
63
install(FILES "${_completion_fish}" DESTINATION "${CURL_COMPLETION_FISH_DIR}")
64
endif()
65
endif()
66
if(CURL_COMPLETION_ZSH)
67
if(NOT CURL_COMPLETION_ZSH_DIR AND CMAKE_INSTALL_DATAROOTDIR)
68
set(CURL_COMPLETION_ZSH_DIR "${CMAKE_INSTALL_DATAROOTDIR}/zsh/site-functions")
69
endif()
70
if(CURL_COMPLETION_ZSH_DIR)
71
install(FILES "${_completion_zsh}" DESTINATION "${CURL_COMPLETION_ZSH_DIR}")
72
endif()
73
endif()
74
endif()
75
else()
76
message(WARNING "No perl: cannot generate completion script")
77
endif()
78
endif()
79
80