From f52bb2bf27cc55285398bbf6acb1884b10b8d3a4 Mon Sep 17 00:00:00 2001 From: Gerald Combs Date: Tue, 6 Mar 2018 09:34:36 -0800 Subject: [PATCH] CMake: Fixup our Chocolatey bin path discovery. Search for choco.exe directly instead of using PATHS + PATH_SUFFIXES. Look in %ChocolateyInstall%\bin first. CHOCOLATEY_BIN_PATH is the binary path. There's no need to append /bin to it. Change-Id: I732db398bd989bf12222a5cee2c79c0bd4161638 Reviewed-on: https://code.wireshark.org/review/26276 Petri-Dish: Gerald Combs Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs --- cmake/modules/FindAsciidoctor.cmake | 2 +- cmake/modules/FindChocolatey.cmake | 26 ++++++++++++++++---------- cmake/modules/FindLEX.cmake | 2 +- cmake/modules/FindXSLTPROC.cmake | 3 ++- cmake/modules/FindYACC.cmake | 2 +- 5 files changed, 21 insertions(+), 14 deletions(-) diff --git a/cmake/modules/FindAsciidoctor.cmake b/cmake/modules/FindAsciidoctor.cmake index d5be880efe..1050d16f43 100644 --- a/cmake/modules/FindAsciidoctor.cmake +++ b/cmake/modules/FindAsciidoctor.cmake @@ -14,7 +14,7 @@ FIND_PROGRAM(ASCIIDOCTOR_EXECUTABLE /bin /usr/bin /usr/local/bin - ${CHOCOLATEY_BIN_PATH}/bin + ${CHOCOLATEY_BIN_PATH} DOC "Path to Asciidoctor or AsciidoctorJ" ) diff --git a/cmake/modules/FindChocolatey.cmake b/cmake/modules/FindChocolatey.cmake index 9f486dbd84..172335f9b9 100644 --- a/cmake/modules/FindChocolatey.cmake +++ b/cmake/modules/FindChocolatey.cmake @@ -22,15 +22,21 @@ # License text for the above reference.) if (WIN32) - find_path(CHOCOLATEY_BIN_PATH - choco.exe - PATHS "C:/ProgramData/chocolatey" "C:/Chocolatey" ENV ChocolateyInstall - PATH_SUFFIXES bin - DOC "Chocolatey binary path" - NO_DEFAULT_PATH - ) + if (ENV{ChocolateyInstall}) + set(_chocolateyinstall_bin "$ENV{ChocolateyInstall}/bin") + endif() - mark_as_advanced( - CHOCOLATEY_BIN_PATH - ) + find_path(CHOCOLATEY_BIN_PATH + choco.exe + PATHS + $_chocolateyinstall_bin + "$ENV{ProgramData}/chocolatey/bin" + C:/Chocolatey/bin + DOC "Chocolatey binary path" + NO_DEFAULT_PATH + ) + + mark_as_advanced( + CHOCOLATEY_BIN_PATH + ) endif () diff --git a/cmake/modules/FindLEX.cmake b/cmake/modules/FindLEX.cmake index 3ec7db30c5..f7d010b732 100644 --- a/cmake/modules/FindLEX.cmake +++ b/cmake/modules/FindLEX.cmake @@ -11,7 +11,7 @@ FIND_PROGRAM(LEX_EXECUTABLE flex lex PATHS - ${CHOCOLATEY_BIN_PATH}/bin + ${CHOCOLATEY_BIN_PATH} ${CYGWIN_INSTALL_PATH}/bin /bin /usr/bin diff --git a/cmake/modules/FindXSLTPROC.cmake b/cmake/modules/FindXSLTPROC.cmake index d82aaf5b1b..5cab1398bf 100644 --- a/cmake/modules/FindXSLTPROC.cmake +++ b/cmake/modules/FindXSLTPROC.cmake @@ -3,6 +3,7 @@ # This module looks for some usual Unix commands. # +include(FindChocolatey) include(FindCygwin) # Strawberry Perl ships with xsltproc but no DocBook XML files, which @@ -12,7 +13,7 @@ find_program(XSLTPROC_EXECUTABLE NAMES xsltproc HINTS - ${ChocolateyInstall}/bin + ${CHOCOLATEY_BIN_PATH} ${CYGWIN_INSTALL_PATH}/bin PATHS /usr/local/bin diff --git a/cmake/modules/FindYACC.cmake b/cmake/modules/FindYACC.cmake index b32fd4d4e9..9360d71a1a 100644 --- a/cmake/modules/FindYACC.cmake +++ b/cmake/modules/FindYACC.cmake @@ -11,7 +11,7 @@ FIND_PROGRAM(YACC_EXECUTABLE bison yacc PATHS - ${CHOCOLATEY_BIN_PATH}/bin + ${CHOCOLATEY_BIN_PATH} ${CYGWIN_INSTALL_PATH}/bin /bin /usr/bin