quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

CMakeLists.txt (3310B)


      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()