diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2023-11-29 21:52:58 +0000 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2023-11-29 21:52:58 +0000 |
commit | 931bffbda3668ddc609fc1da8f9eb576b170aa52 (patch) | |
tree | d8c1843a95da5ea0bb4acc09f7e37843d9995c86 /cmake.deps/cmake/GetBinaryDeps.cmake | |
parent | 142d9041391780ac15b89886a54015fdc5c73995 (diff) | |
parent | 4a8bf24ac690004aedf5540fa440e788459e5e34 (diff) | |
download | rneovim-userreg.tar.gz rneovim-userreg.tar.bz2 rneovim-userreg.zip |
Merge remote-tracking branch 'upstream/master' into userreguserreg
Diffstat (limited to 'cmake.deps/cmake/GetBinaryDeps.cmake')
-rw-r--r-- | cmake.deps/cmake/GetBinaryDeps.cmake | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/cmake.deps/cmake/GetBinaryDeps.cmake b/cmake.deps/cmake/GetBinaryDeps.cmake index da4376998b..2f1e237588 100644 --- a/cmake.deps/cmake/GetBinaryDeps.cmake +++ b/cmake.deps/cmake/GetBinaryDeps.cmake @@ -5,35 +5,49 @@ # install root. function(GetBinaryDep) cmake_parse_arguments(_gettool - "BUILD_IN_SOURCE" + "" "TARGET" "INSTALL_COMMAND" ${ARGN}) - if(NOT _gettool_TARGET OR NOT _gettool_INSTALL_COMMAND) - message(FATAL_ERROR "Must pass INSTALL_COMMAND and TARGET") - endif() - string(TOUPPER "${_gettool_TARGET}_URL" URL_VARNAME) string(TOUPPER "${_gettool_TARGET}_SHA256" HASH_VARNAME) set(URL ${${URL_VARNAME}}) set(HASH ${${HASH_VARNAME}}) - if(NOT URL OR NOT HASH ) - message(FATAL_ERROR "${URL_VARNAME} and ${HASH_VARNAME} must be set") - endif() - if(USE_EXISTING_SRC_DIR) - unset(URL) - endif() ExternalProject_Add(${_gettool_TARGET} URL ${URL} URL_HASH SHA256=${HASH} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR} CONFIGURE_COMMAND "" BUILD_IN_SOURCE 1 BUILD_COMMAND "" - INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/bin - COMMAND "${_gettool_INSTALL_COMMAND}") - list(APPEND THIRD_PARTY_DEPS ${__gettool_TARGET}) + INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR} + COMMAND "${_gettool_INSTALL_COMMAND}" + ${EXTERNALPROJECT_OPTIONS}) +endfunction() + +# Download executable and move it to DEPS_BIN_DIR +function(GetExecutable) + cmake_parse_arguments(ARG + "" + "TARGET" + "" + ${ARGN}) + + string(TOUPPER "${ARG_TARGET}_URL" URL_VARNAME) + string(TOUPPER "${ARG_TARGET}_SHA256" HASH_VARNAME) + set(URL ${${URL_VARNAME}}) + set(HASH ${${HASH_VARNAME}}) + + ExternalProject_Add(${ARG_TARGET} + URL ${URL} + URL_HASH SHA256=${HASH} + DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR} + DOWNLOAD_NO_EXTRACT TRUE + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR} + COMMAND ${CMAKE_COMMAND} -E copy <DOWNLOADED_FILE> ${DEPS_BIN_DIR} + ${EXTERNALPROJECT_OPTIONS}) endfunction() |