aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake51
1 files changed, 30 insertions, 21 deletions
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake
index 7f1f419cd..f5915dbc7 100644
--- a/scripts/cmake/vcpkg_find_acquire_program.cmake
+++ b/scripts/cmake/vcpkg_find_acquire_program.cmake
@@ -240,23 +240,18 @@ function(vcpkg_find_acquire_program VAR)
set(NOEXTRACT ON)
set(HASH 22ea847d8017cd977664d0b13c889cfb13c89143212899a511be217345a4e243d4d8d4099700114a11d26a087e83eb1a3e2b03bdb5e0db48f10403184cd26619)
elseif(VAR MATCHES "MESON")
- if(NOT CMAKE_HOST_APPLE)
- set(PROGNAME meson)
- set(REQUIRED_INTERPRETER PYTHON3)
- set(APT_PACKAGE_NAME "meson")
- if(CMAKE_HOST_WIN32)
- set(SCRIPTNAME meson.py)
- else()
- set(SCRIPTNAME meson)
- endif()
- set(PATHS ${DOWNLOADS}/tools/meson/meson-0.54.2)
- set(URL "https://github.com/mesonbuild/meson/archive/0.54.2.zip")
- set(ARCHIVE "meson-0.54.2.zip")
- set(HASH 8d19110bad3e6a223d1d169e833b746b884ece9cd23d2539ec02dccb5cd0c56542414b7afc0f7f2adcec9d957e4120d31f41734397aa0a7ee7f9c29ebdc9eb4c)
- else()
- set(PROGNAME meson)
- set(BREW_PACKAGE_NAME "meson")
- endif()
+ set(MESON_VERSION 0.55.1)
+ set(PROGNAME meson)
+ set(REQUIRED_INTERPRETER PYTHON3)
+ set(APT_PACKAGE_NAME "meson")
+ set(BREW_PACKAGE_NAME "meson")
+ set(SCRIPTNAME meson meson.py)
+ set(PATHS ${DOWNLOADS}/tools/meson/meson-${MESON_VERSION})
+ set(URL "https://github.com/mesonbuild/meson/releases/download/${MESON_VERSION}/meson-${MESON_VERSION}.tar.gz")
+ set(ARCHIVE "meson-${MESON_VERSION}.tar.gz")
+ set(HASH 172b4de8c7474d709f172431b89bf2b2b1c2c38bc842039cccf6be075a45bd3509a1dab8512bc5b2ee025d65d8050d2f717dd15c1f9be17fca3b2e7da0d3e889)
+ set(_vfa_SUPPORTED ON)
+ set(VERSION_CMD --version)
elseif(VAR MATCHES "FLEX" OR VAR MATCHES "BISON")
if(CMAKE_HOST_WIN32)
set(SOURCEFORGE_ARGS
@@ -419,14 +414,28 @@ function(vcpkg_find_acquire_program VAR)
endif()
else()
vcpkg_find_acquire_program(${REQUIRED_INTERPRETER})
- find_file(SCRIPT_${VAR} ${SCRIPTNAME} PATHS ${PATHS} NO_DEFAULT_PATH)
- find_file(SCRIPT_${VAR} ${SCRIPTNAME})
- set(${VAR} ${${REQUIRED_INTERPRETER}} ${SCRIPT_${VAR}})
+ find_file(SCRIPT_${VAR} NAMES ${SCRIPTNAME} PATHS ${PATHS} NO_DEFAULT_PATH)
+ if(NOT SCRIPT_${VAR})
+ find_file(SCRIPT_${VAR} NAMES ${SCRIPTNAME})
+ if(SCRIPT_${VAR} AND NOT ${VAR}_VERSION_CHECKED)
+ set(${VAR} ${${REQUIRED_INTERPRETER}} ${SCRIPT_${VAR}})
+ do_version_check()
+ set(${VAR}_VERSION_CHECKED ON)
+ if(NOT ${VAR})
+ unset(SCRIPT_${VAR} CACHE)
+ endif()
+ elseif(${VAR}_VERSION_CHECKED)
+ message(FATAL_ERROR "Unable to find ${PROGNAME} with min version of ${${VAR}_VERSION}")
+ endif()
+ endif()
+ if(SCRIPT_${VAR})
+ set(${VAR} ${${REQUIRED_INTERPRETER}} ${SCRIPT_${VAR}})
+ endif()
endif()
endmacro()
do_find()
- if("${${VAR}}" MATCHES "-NOTFOUND")
+ if(NOT ${VAR})
if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" AND NOT _vfa_SUPPORTED)
set(EXAMPLE ".")
if(DEFINED BREW_PACKAGE_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")